JButton Java JFrame

Узнай цену своей работы

Формулировка задачи:

Как правильно приделать к вот такому коду парочку кнопок?
Листинг программы
  1. package praktika1;
  2. import java.awt.*;
  3. import javax.swing.*;
  4. import java.awt.event.ActionEvent;
  5. import java.awt.event.ActionListener;
  6. import java.awt.geom.Rectangle2D;
  7. public class zadanie2 extends JFrame {
  8. Color square1 = new Color(248, 244, 255);
  9. Color square2 = new Color(0x000000);
  10. Color cheker1 = new Color(0xF0FF9F);
  11. Color cheker2 = new Color(0x170F33);
  12. public void paint(Graphics g)
  13. {
  14. int row;
  15. int col;
  16. int x,y;
  17. for ( row = 0; row < 8; row++ ) {
  18. for ( col =0; col < 8; col++) {
  19. x = col * 60+35;
  20. y = row * 60+35;
  21. if ( (row % 2) == (col % 2) )
  22. g.setColor(square1);
  23. else
  24. g.setColor(square2);
  25. g.fillRect(x, y,60, 60);
  26. }
  27. }
  28. for ( row = 0; row < 3; row++ ) {
  29. for ( col =0; col < 8; col++) {
  30. if ( (row % 2) == (col % 2) ){
  31. x = col * 60+45;
  32. y = row * 60+350;
  33. g.setColor(cheker1);
  34. g.fillOval(x, y, 40,40);}
  35. }
  36. }
  37. for ( row = 0; row < 3; row++ ) {
  38. for ( col =0; col < 8; col++) {
  39. if ( (row % 2) != (col % 2) ){
  40. x = col * 60+45;
  41. y = row * 60+45;
  42. g.setColor(cheker2);
  43. g.fillOval(x, y, 40,40);}
  44. }
  45. }
  46. }
  47.  
  48. public static void main(String args[]) {
  49. zadanie2 check = new zadanie2();
  50. check.setTitle("Шашки");
  51. check.setSize(600,600);
  52. check.setDefaultCloseOperation(EXIT_ON_CLOSE);
  53. check.setVisible(true);
  54.  
  55. }
  56. }

Решение задачи: «JButton Java JFrame»

textual
Листинг программы
  1. import java.awt.*;
  2.  
  3. import javax.swing.*;
  4. import java.awt.event.ActionEvent;
  5. import java.awt.event.ActionListener;
  6. import java.awt.geom.Rectangle2D;
  7.  
  8.  
  9. public class zadanie2 extends JFrame  {
  10.    //Константы цветов
  11.    final Color COLOR_SQUARE1 = new Color(248, 244, 255);
  12.    final Color COLOR_SQUARE2 = new Color(0x000000);
  13.    final Color COLOR_SQUARE3 = new Color(255, 0, 0);
  14.    final Color COLOR_SQUARE4 = new  Color(255,255,0);
  15.    
  16.    final Color COLOR_CHEAKER1 = new  Color(0xF0FF9F);
  17.    final Color COLOR_CHEAKER2 = new Color(0x170F33);
  18.    final Color COLOR_CHEAKER3 = new Color(0,0,255);
  19.    final Color COLOR_CHEAKER4 = new Color(255,0,255);
  20.    
  21.    Color square1 = COLOR_SQUARE1;
  22.    Color square2 = COLOR_SQUARE2;
  23.      
  24.    Color cheker1 = COLOR_CHEAKER1;
  25.    Color cheker2 = COLOR_CHEAKER2;
  26.    
  27.    //Панель с полем
  28.     ChekerPanel chekerPanel = new ChekerPanel();
  29.     //Кнопки
  30.     JButton changeColor=new JButton("Change Color");
  31.     JButton changeColorCheker=new JButton("Change color cheker");
  32.     JButton changeCheker=new JButton("Change cheker");
  33.    
  34.     //Создаем конструктор
  35.     public zadanie2(){
  36.    
  37.     //Убираем менеджер расположения  
  38.     setLayout(null);
  39.    
  40.     //Устанавливаем кнопки и панель в определенное место
  41.     changeColor.setBounds(530, 50, 120, 25);
  42.     changeColorCheker.setBounds(530, 100, 120, 25);
  43.     changeCheker.setBounds(530, 150, 120, 25);
  44.     chekerPanel.setBounds(0, 0, 550, 600);
  45.    
  46.     //Изменяем цвет поля по нажатию на кнопку
  47.     changeColor.addActionListener(new ActionListener(){
  48.         @Override
  49.         public void actionPerformed(ActionEvent e) {
  50.            if (square1.equals(COLOR_SQUARE1)) {
  51.                square1 = COLOR_SQUARE3;
  52.                square2 = COLOR_SQUARE4;
  53.               repaint();
  54.            } else {
  55.                square1 = COLOR_SQUARE1;
  56.                square2 = COLOR_SQUARE2;
  57.                repaint();
  58.            }
  59.            
  60.         }
  61.        
  62.     });
  63.     //Изменяем цвет шашек
  64.     changeColorCheker.addActionListener(new ActionListener(){
  65.         @Override
  66.         public void actionPerformed(ActionEvent e) {
  67.            if (cheker1.equals(COLOR_CHEAKER1)) {
  68.                cheker1 = COLOR_CHEAKER3;
  69.                cheker2 = COLOR_CHEAKER4;
  70.               repaint();
  71.            } else {
  72.                cheker1 = COLOR_CHEAKER1;
  73.                cheker2 = COLOR_CHEAKER2;
  74.                repaint();
  75.            }
  76.            
  77.         }
  78.        
  79.     });
  80.    
  81.    
  82.     //Добавляем на фрейм кнопки и панель
  83.     add(changeColor);
  84.     add(changeColorCheker);
  85.     add(changeCheker);
  86.     add(chekerPanel);
  87.    
  88. }
  89.  
  90.     public static void main(String args[]) {
  91.        zadanie2 check = new zadanie2();
  92.         check.setTitle("Шашки");
  93.         check.setSize(680,600);
  94.         check.setDefaultCloseOperation(EXIT_ON_CLOSE);
  95.         check.setVisible(true);
  96.  
  97.     }
  98. //Внутренний класс с панелью
  99.     private  class ChekerPanel extends JPanel{
  100.  
  101.         public ChekerPanel() {
  102.         }
  103.         public void paint(Graphics g)
  104.         {
  105.             int row;
  106.             int col;
  107.             int x,y;
  108.             for ( row = 0;  row < 8;  row++ ) {
  109.  
  110.                 for ( col =0;  col < 8;  col++) {
  111.                     x = col * 60+35;
  112.                     y = row * 60+35;
  113.                     if ( (row % 2) == (col % 2) )
  114.                         g.setColor(square1);
  115.                     else
  116.                         g.setColor(square2);
  117.                     g.fillRect(x, y,60, 60);
  118.                 }
  119.  
  120.             }
  121.             for ( row = 0;  row < 3;  row++ ) {
  122.  
  123.                 for ( col =0;  col < 8;  col++) {
  124.                     if ( (row % 2) == (col % 2) ){
  125.                     x = col * 60+45;
  126.                     y = row * 60+350;
  127.                     g.setColor(cheker1);
  128.                     g.fillOval(x, y, 40,40);}
  129.                 }
  130.  
  131.             }
  132.             for ( row = 0;  row < 3;  row++ ) {
  133.  
  134.                 for ( col =0;  col < 8;  col++) {
  135.                     if ( (row % 2) != (col % 2) ){
  136.                     x = col * 60+45;
  137.                     y = row * 60+45;
  138.                     g.setColor(cheker2);
  139.                     g.fillOval(x, y, 40,40);}
  140.                 }
  141.  
  142.            }
  143.        
  144.         }
  145.     }
  146. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут