Advertisement
Guest User

Untitled

a guest
Dec 10th, 2019
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.39 KB | None | 0 0
  1. import javax.swing.*;
  2. import java.awt.*;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5. import java.awt.event.ItemEvent;
  6. import java.awt.event.ItemListener;
  7.  
  8. public class ButtonExample extends JFrame implements ActionListener,
  9. ItemListener {
  10. private JLabel outputLabel;
  11. private JButton helloButton, exitButton;
  12. private JPanel panelButton;
  13. private JCheckBox bold, italic;
  14. private JPanel panelCheckBox, panel;
  15. private int style; // стил
  16. private JRadioButton black, red, blue;
  17. private ButtonGroup color;
  18. private JPanel panelRadioButton;
  19. public ButtonExample () {
  20. super("Бутони");
  21. this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  22. Container container = this.getContentPane();
  23. outputLabel = new JLabel("Натиснете бутона Поздрав");
  24. outputLabel.setHorizontalAlignment(SwingConstants.CENTER);
  25. container.add(outputLabel, BorderLayout.PAGE_START);
  26. panelButton = new JPanel();
  27. helloButton = new JButton("Поздрав");
  28. helloButton.addActionListener(this);
  29. exitButton = new JButton("Изход");
  30. exitButton.addActionListener(this);
  31. panelButton.add(helloButton);
  32. panelButton.add(exitButton);
  33. container.add(panelButton, BorderLayout.PAGE_END);
  34. panel = new JPanel();
  35. panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
  36. panelCheckBox = new JPanel();
  37. bold = new JCheckBox("Удебелен");
  38. bold.addItemListener(this);
  39. italic = new JCheckBox("Курсив");
  40. italic.addItemListener(this);
  41. style = Font.PLAIN; // Инициализира стила като обикновен
  42. outputLabel.setFont(new Font("Arial", style, 12));// шрифт на етикета
  43. panelCheckBox.add(bold);
  44. panelCheckBox.add(italic);
  45. panel.add(panelCheckBox);
  46. panelRadioButton = new JPanel();
  47. color = new ButtonGroup();
  48. black = new JRadioButton("Черен");
  49. black.setSelected(true);
  50. black.addActionListener(this);
  51. red = new JRadioButton("Червен");
  52. red.addActionListener(this);
  53. blue = new JRadioButton("Син");
  54. blue.addActionListener(this);
  55. color.add(black);
  56. color.add(red);
  57. color.add(blue);
  58. panelRadioButton.add(black);
  59. panelRadioButton.add(red);
  60. panelRadioButton.add(blue);
  61. panel.add(panelRadioButton);
  62. container.add(panel, BorderLayout.CENTER);
  63. this.setSize(300, 150);
  64. this.setVisible(true);
  65.  
  66. }
  67. public void actionPerformed(ActionEvent e) {
  68. Object source = e.getSource();
  69. if(source == helloButton) // бутонът Поздрав е източник на събитието
  70. outputLabel.setText("Добре дошли!"); //установява текста в етикета
  71. else if(source == exitButton) // бутонът Изход е източник на събитието
  72. System.exit(0); // затваря фрейма
  73. else if(source == black) { // бутонът Черен е източник на събитието
  74. outputLabel.setForeground(Color.BLACK); // черен цвят на шрифта
  75. black.setSelected(true); // състояние „избран” на бутона Черен
  76. }
  77. else if(source == red) { // бутонът Червен е източник на събитието
  78. outputLabel.setForeground(Color.RED); // червен цвят на шрифта
  79. red.setSelected(true); // състояние „избран” на бутона Червен
  80. }
  81. else if(source == blue) { // бутонът Син е източник на събитието
  82. outputLabel.setForeground(Color.BLUE); // син цвят на шрифта
  83. blue.setSelected(true); // състояние „избран” на бутона Син
  84. }
  85.  
  86. }
  87.  
  88. public void itemStateChanged(ItemEvent e) {
  89. Object source = e.getItemSelectable();
  90. if(source == bold) { // бутонът Удебелен е източник на събитието
  91. if(bold.isSelected()) // Ако е в състояние „избран”
  92. style += Font.BOLD; // към стила се добавя удебелен
  93. else // в противен случай
  94. style -= Font.BOLD; // от стила се премахва удебелен
  95. }
  96. else if(source == italic){ // бутонът Курсив е източник на събитието
  97. if(italic.isSelected()) // Ако е в състояние „избран”
  98. style += Font.ITALIC; // към стила се добавя курсив
  99. else // в противен случай
  100. style -= Font.ITALIC; // от стила се премахва курсив
  101. }
  102. // Установява шрифта на етикета с този стил
  103. outputLabel.setFont(new Font("Arial", style, 12));
  104. }
  105. public static void main(String[] args) {
  106. SwingUtilities.invokeLater(new Runnable() {
  107. public void run() {
  108. new ButtonExample();
  109. }
  110. });
  111. }
  112.  
  113.  
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement