01/10/2018, 08:28

Xử lý sự kiện Button ActionListener trong Java

Em đang viết bài tập , 25 đèn mỗi đèn 1 button
Em set background nó là xanh lá
Nếu click vào ô button[0][0] thì button[0][0] , button[1][0], button[0][1] sẽ đổi màu
Em không biết cách lấy 1 button ra như thế nòa.
Đây là code của em:

package mypack;

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.*;
import javax.swing.*;

public class lightsout {

	public static void main(String [] args)
	{
		
		JFrame jf = new JFrame("Lights Out");
		jf.setSize(820, 550);
		jf.setResizable(false);
		jf.setLocation(300, 150);
		jf.setLayout(null);
		JPanel jpnlButton = new JPanel();
		jpnlButton.setSize(520,520);
		jpnlButton.setBackground(Color.GRAY);
		JPanel jpnlMenu = new JPanel();
		jpnlMenu.setSize(250,450);
		jpnlMenu.setBackground(Color.BLUE);
		jpnlMenu.setLocation(540, 40);
		jf.add(jpnlButton);
		jf.add(jpnlMenu);
		
		// code button cho panel
		GridLayout gridlayout = new GridLayout(5,5);
		jpnlButton.setLayout(gridlayout);
		JButton [][] jbt = new JButton[5][5];
		for(int i=0; i<5; i++)
			for(int j=0; j<5; j++)
			{
				jbt[i][j] = new JButton();
				jbt[i][j].setActionCommand("jbt"+i+j);
				jbt[i][j].setText(jbt[i][j].getActionCommand()); // testcase
				jbt[i][j].addActionListener(new myButtonListener());
				jpnlButton.add(jbt[i][j]);				
			}
		jf.setVisible(true);
	}
}

class myButtonListener implements ActionListener
{

	@Override
	public void actionPerformed(ActionEvent e) {
		String nameButton = e.getActionCommand();
		if(nameButton.equals("jbt00")){
			int i = 0, j = 0;
			
		}
		
	}
	
}

Thanks mọi người!

Đỗ Trung Quân viết 10:28 ngày 01/10/2018

Lấy bằng tên biến của nó thôi

bphvcg viết 10:32 ngày 01/10/2018

Dạ, em làm được rồi . Mới kiếm ra lúc chiều ạ

Bài liên quan
0