Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.ItemEvent;
- import java.awt.event.ItemListener;
- public class ButtonExample extends JFrame implements ActionListener,
- ItemListener {
- private JLabel outputLabel;
- private JButton helloButton, exitButton;
- private JPanel panelButton;
- private JCheckBox bold, italic;
- private JPanel panelCheckBox, panel;
- private int style; // стил
- private JRadioButton black, red, blue;
- private ButtonGroup color;
- private JPanel panelRadioButton;
- public ButtonExample () {
- super("Бутони");
- this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- Container container = this.getContentPane();
- outputLabel = new JLabel("Натиснете бутона Поздрав");
- outputLabel.setHorizontalAlignment(SwingConstants.CENTER);
- container.add(outputLabel, BorderLayout.PAGE_START);
- panelButton = new JPanel();
- helloButton = new JButton("Поздрав");
- helloButton.addActionListener(this);
- exitButton = new JButton("Изход");
- exitButton.addActionListener(this);
- panelButton.add(helloButton);
- panelButton.add(exitButton);
- container.add(panelButton, BorderLayout.PAGE_END);
- panel = new JPanel();
- panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
- panelCheckBox = new JPanel();
- bold = new JCheckBox("Удебелен");
- bold.addItemListener(this);
- italic = new JCheckBox("Курсив");
- italic.addItemListener(this);
- style = Font.PLAIN; // Инициализира стила като обикновен
- outputLabel.setFont(new Font("Arial", style, 12));// шрифт на етикета
- panelCheckBox.add(bold);
- panelCheckBox.add(italic);
- panel.add(panelCheckBox);
- panelRadioButton = new JPanel();
- color = new ButtonGroup();
- black = new JRadioButton("Черен");
- black.setSelected(true);
- black.addActionListener(this);
- red = new JRadioButton("Червен");
- red.addActionListener(this);
- blue = new JRadioButton("Син");
- blue.addActionListener(this);
- color.add(black);
- color.add(red);
- color.add(blue);
- panelRadioButton.add(black);
- panelRadioButton.add(red);
- panelRadioButton.add(blue);
- panel.add(panelRadioButton);
- container.add(panel, BorderLayout.CENTER);
- this.setSize(300, 150);
- this.setVisible(true);
- }
- public void actionPerformed(ActionEvent e) {
- Object source = e.getSource();
- if(source == helloButton) // бутонът Поздрав е източник на събитието
- outputLabel.setText("Добре дошли!"); //установява текста в етикета
- else if(source == exitButton) // бутонът Изход е източник на събитието
- System.exit(0); // затваря фрейма
- else if(source == black) { // бутонът Черен е източник на събитието
- outputLabel.setForeground(Color.BLACK); // черен цвят на шрифта
- black.setSelected(true); // състояние „избран” на бутона Черен
- }
- else if(source == red) { // бутонът Червен е източник на събитието
- outputLabel.setForeground(Color.RED); // червен цвят на шрифта
- red.setSelected(true); // състояние „избран” на бутона Червен
- }
- else if(source == blue) { // бутонът Син е източник на събитието
- outputLabel.setForeground(Color.BLUE); // син цвят на шрифта
- blue.setSelected(true); // състояние „избран” на бутона Син
- }
- }
- public void itemStateChanged(ItemEvent e) {
- Object source = e.getItemSelectable();
- if(source == bold) { // бутонът Удебелен е източник на събитието
- if(bold.isSelected()) // Ако е в състояние „избран”
- style += Font.BOLD; // към стила се добавя удебелен
- else // в противен случай
- style -= Font.BOLD; // от стила се премахва удебелен
- }
- else if(source == italic){ // бутонът Курсив е източник на събитието
- if(italic.isSelected()) // Ако е в състояние „избран”
- style += Font.ITALIC; // към стила се добавя курсив
- else // в противен случай
- style -= Font.ITALIC; // от стила се премахва курсив
- }
- // Установява шрифта на етикета с този стил
- outputLabel.setFont(new Font("Arial", style, 12));
- }
- public static void main(String[] args) {
- SwingUtilities.invokeLater(new Runnable() {
- public void run() {
- new ButtonExample();
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement