我说得不好!先看代码再说!package WuZiQi;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;public class WuZiQiFrame2 extends JFrame{
public WuZiQiFrame2()
{
setSize(400,400);
WuZiQiPanel2 p=new WuZiQiPanel2();
add(p);
}}
class WuZiQiPanel2 extends JPanel
{
public WuZiQiPanel2()
{
setLayout(new GridLayout(10,10));
for(int i=1;i<=100;i++)
{
JButton button=new JButton();
button.addActionListener(new JActionListener());
add(button);
}
}
}
class JActionListener implements ActionListener
{
//JButton button;
public void actionPerformed(ActionEvent e) {

//我想在这里实现添加图标!

}

}
我写的一个五子棋!在实现棋盘!我的想法是建立一个10*10的棋盘,采用网格布局,然后添加一百个按纽,在游戏的时候点击一个按纽,该按纽就添加一个图标,在点击另外的按纽时候,就添加不同的图表,这样以便于区分.可是我试了很久也添加不进去.我想java难道不能给一个按纽添加图表,还是我的想法有问题,但是如果不用按纽实现棋盘又应该用什么实现呢!?其实我是很固执的,我就想用按纽来实现,不过高手们有好的实现方法也多多帮助.
所以我的主要问题是如何用按纽来实现(我觉得如果用按纽实现好象只能添加图表,各位有不同的思路畅所欲言).
次要问题才是如果不用按纽又该怎么实现?当然上面的程序是没写完的,因为卡在那里写不动了.拜托各位!!

解决方案 »

  1.   

    for(int i=1;i <=100;i++)
    {
    JButton button=new JButton();
    button.addActionListener(new JActionListener());
    add(button);
    }
    建议LZ不要将JButton写成for内的局部变量,设置图片可以这样:
    Icon icon=new ImageIcon("icon.jpg");
    button.setIcon(icon);
    放置该JButton等组件的JFrame.repaint();
      

  2.   

    public void actionPerformed(ActionEvent e) { //我想在这里实现添加图标! 
    //变背景色
    JButton source = (JButton)e.getSource();
    source.setBackground(Color.BLACK);

      

  3.   

    要用图也可以JButton有个setIcon(Icon icon)方法可可以来改变按钮图标。
    方法都一样,你看如何用本地图片去构造Icon对象,这个我确实不知道了。
      

  4.   

    Icon icon=new ImageIcon("icon.jpg"); 
    button.setIcon(icon); 
    放置该JButton等组件的JFrame.repaint();
    这个就行拉,可以结合一个FOR循环,让ICON不同,("icon" + i + ".jpg")
    这基本满足你要求拉,呵呵