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);}
- }
- }
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д