我正在用Java编写一个Chinese Chess程序,非常感谢有关设计/实现GUI的一些指导。
将棋盘划分为9x10网格,棋盘的“图像”占据每个单元格。单击时单元格也需要“注册”,这样我就知道单击了哪一块。
1)我在考虑代表董事会的GridLayout
的布局管理器JPanel
。如何为每个组件添加图像?
public void paintComponent(Graphics g) {
Image dog = new ImageIcon("dog.png").getImage();
add(dog)
}
不起作用dog
不是Component
。
2)我如何在每个单元格中注册点击次数?
答案 0 :(得分:4)
使用包含图标的JLabel。然后将标签添加到网格布局中。有关详细信息,请阅读How to Use Icons上的Swing教程。
另请阅读How to Write a Mouse Listener
部分,了解标签上的点击次数。
或者你可以使用带有Icon的JButton然后使用:
button.setBorderPainted(false);
因此您看不到单击按钮的操作。然后你将使用ActionListener。本教程还有一个关于使用ActionListener的部分。
答案 1 :(得分:4)