У меня проблема с событием кнопки. Я хочу изменить свой массив (dizi[i][j]
), когда я нажимаю btn_ij
. Кнопки хорошо работают для изменения цвета фона, но не работают для изменения массива (пример dizi[i][j]=2;
). Как я могу это исправить?Программирование интерфейса Java
package renksudokusu;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Sudoku extends JFrame {
public int[][] dizi =
{{1,2,1,1},
{1,1,1,1},
{1,1,1,1},
{1,1,1,1}};
public int i,j;
public Sudoku(){
this.setTitle("asdf");
this.setSize(600,430);
this.setVisible(true);
this.setLayout(null);
this.setResizable(false);
for(i=0;i<4;i++){
for(j=0;j<4;j++){
JButton btn_ij=new JButton();
btn_ij.setBackground(Color.RED);
this.add(btn_ij);
btn_ij.setBounds(i*100,j*100,100,100);
btn_ij.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0){
if(btn_ij.getBackground()==Color.RED){
btn_ij.setBackground(Color.BLUE);
dizi[i][j]=2;
}
else if(btn_ij.getBackground()==Color.BLUE){
btn_ij.setBackground(Color.GREEN);
dizi[i][j]=3;
}
else if(btn_ij.getBackground()==Color.GREEN){
btn_ij.setBackground(Color.YELLOW);
dizi[i][j]=5;
}
else if(btn_ij.getBackground()==Color.YELLOW){
btn_ij.setBackground(Color.RED);
dizi[i][j]=1;
}
}
});
}
}// For döngülerinin bitişi.
JButton basla=new JButton("Başla");
this.add(basla);
basla.setBounds(450,10,100,50);
JButton kontrol=new JButton("Kontrol Et");
this.add(kontrol);
kontrol.setBounds(450,80,100,50);
kontrol.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0){
for(int i=0;i<4;i++){
for(int j=0;j<4;j++){
}
}
}
});
JButton cikis=new JButton("Çıkış");
this.add(cikis);
cikis.setBounds(450,150,100,50);
cikis.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0){
System.exit(0);
}
});
}
public static void main(String[] args) {
new Sudoku();
}
}
Как «* я хочу изменить свой массив *», связанный с вашим названием? – Pshemo
потому что я делаю программу интерфейса Java, и у меня проблема, когда я использую ActionListener. –
«Программирование интерфейса» не описывает проблему, с которой вы сталкиваетесь. Это как сказать «приготовление пищи», когда вы спрашиваете о количестве яиц, которые нужно сделать * что-то *. Пожалуйста, отредактируйте свое название и сделайте его более наглядным, чтобы люди, столкнувшиеся с одной и той же проблемой, могли узнать/найти ваше сообщение. – Pshemo