JButton Java JFrame

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

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

Как правильно приделать к вот такому коду парочку кнопок?
package praktika1;
import java.awt.*;
 
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.geom.Rectangle2D;
 
public class zadanie2 extends JFrame  {
 
    Color square1 = new Color(248, 244, 255);
    Color square2 = new Color(0x000000);
    Color cheker1 = new Color(0xF0FF9F);
    Color cheker2 = new Color(0x170F33);
 
        public void paint(Graphics g)
        {
            int row;
            int col;
            int x,y;
            for ( row = 0;  row < 8;  row++ ) {
 
                for ( col =0;  col < 8;  col++) {
                    x = col * 60+35;
                    y = row * 60+35;
                    if ( (row % 2) == (col % 2) )
                        g.setColor(square1);
                    else
                        g.setColor(square2);
                    g.fillRect(x, y,60, 60);
                }
 
            }
            for ( row = 0;  row < 3;  row++ ) {
 
                for ( col =0;  col < 8;  col++) {
                    if ( (row % 2) == (col % 2) ){
                    x = col * 60+45;
                    y = row * 60+350;
                    g.setColor(cheker1);
                    g.fillOval(x, y, 40,40);}
                }
 
            }
            for ( row = 0;  row < 3;  row++ ) {
 
                for ( col =0;  col < 8;  col++) {
                    if ( (row % 2) != (col % 2) ){
                    x = col * 60+45;
                    y = row * 60+45;
                    g.setColor(cheker2);
                    g.fillOval(x, y, 40,40);}
                }
 
            }
        }

    public static void main(String args[]) {
       zadanie2 check = new zadanie2();
        check.setTitle("Шашки");
        check.setSize(600,600);
        check.setDefaultCloseOperation(EXIT_ON_CLOSE);
        check.setVisible(true);

    }
}

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

textual
Листинг программы
import java.awt.*;
 
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.geom.Rectangle2D;
 
 
public class zadanie2 extends JFrame  {
   //Константы цветов
   final Color COLOR_SQUARE1 = new Color(248, 244, 255);
   final Color COLOR_SQUARE2 = new Color(0x000000);
   final Color COLOR_SQUARE3 = new Color(255, 0, 0);
   final Color COLOR_SQUARE4 = new  Color(255,255,0);
   
   final Color COLOR_CHEAKER1 = new  Color(0xF0FF9F);
   final Color COLOR_CHEAKER2 = new Color(0x170F33);
   final Color COLOR_CHEAKER3 = new Color(0,0,255);
   final Color COLOR_CHEAKER4 = new Color(255,0,255);
    
   Color square1 = COLOR_SQUARE1;
   Color square2 = COLOR_SQUARE2;
      
   Color cheker1 = COLOR_CHEAKER1;
   Color cheker2 = COLOR_CHEAKER2;
    
   //Панель с полем
    ChekerPanel chekerPanel = new ChekerPanel();
    //Кнопки
    JButton changeColor=new JButton("Change Color");
    JButton changeColorCheker=new JButton("Change color cheker");
    JButton changeCheker=new JButton("Change cheker");
   
    //Создаем конструктор
    public zadanie2(){
    
    //Убираем менеджер расположения   
    setLayout(null);
    
    //Устанавливаем кнопки и панель в определенное место
    changeColor.setBounds(530, 50, 120, 25);
    changeColorCheker.setBounds(530, 100, 120, 25);
    changeCheker.setBounds(530, 150, 120, 25);
    chekerPanel.setBounds(0, 0, 550, 600);
    
    //Изменяем цвет поля по нажатию на кнопку
    changeColor.addActionListener(new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e) {
           if (square1.equals(COLOR_SQUARE1)) {
               square1 = COLOR_SQUARE3;
               square2 = COLOR_SQUARE4; 
              repaint();
           } else {
               square1 = COLOR_SQUARE1;
               square2 = COLOR_SQUARE2; 
               repaint();
           }
           
        }
        
    });
    //Изменяем цвет шашек
    changeColorCheker.addActionListener(new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e) {
           if (cheker1.equals(COLOR_CHEAKER1)) {
               cheker1 = COLOR_CHEAKER3;
               cheker2 = COLOR_CHEAKER4; 
              repaint();
           } else {
               cheker1 = COLOR_CHEAKER1;
               cheker2 = COLOR_CHEAKER2; 
               repaint();
           }
           
        }
        
    });
    
    
    //Добавляем на фрейм кнопки и панель
    add(changeColor);
    add(changeColorCheker);
    add(changeCheker);
    add(chekerPanel); 
    
}
  
    public static void main(String args[]) {
       zadanie2 check = new zadanie2();
        check.setTitle("Шашки");
        check.setSize(680,600);
        check.setDefaultCloseOperation(EXIT_ON_CLOSE);
        check.setVisible(true);
 
    }
//Внутренний класс с панелью
    private  class ChekerPanel extends JPanel{
 
        public ChekerPanel() {
        }
        public void paint(Graphics g)
        {
            int row;
            int col;
            int x,y;
            for ( row = 0;  row < 8;  row++ ) {
 
                for ( col =0;  col < 8;  col++) {
                    x = col * 60+35;
                    y = row * 60+35;
                    if ( (row % 2) == (col % 2) )
                        g.setColor(square1);
                    else
                        g.setColor(square2);
                    g.fillRect(x, y,60, 60);
                }
 
            }
            for ( row = 0;  row < 3;  row++ ) {
 
                for ( col =0;  col < 8;  col++) {
                    if ( (row % 2) == (col % 2) ){
                    x = col * 60+45;
                    y = row * 60+350;
                    g.setColor(cheker1);
                    g.fillOval(x, y, 40,40);}
                }
 
            }
            for ( row = 0;  row < 3;  row++ ) {
 
                for ( col =0;  col < 8;  col++) {
                    if ( (row % 2) != (col % 2) ){
                    x = col * 60+45;
                    y = row * 60+45;
                    g.setColor(cheker2);
                    g.fillOval(x, y, 40,40);}
                }
 
           }
        
        }
    }
}

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


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

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

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