java在JPanel中创建可见网格
我想做的
我想创建一个API(个人API),允许我输入一个维度(比如10x10),它创建一个10个正方形乘10个正方形的可见网格,并添加了一个“功能”,可以通过方法调用更改任何正方形的填充。不尝试使用任何类型的mouse listener
或任何listener
我的思维过程是这样的:
让保存网格的主JPanel
递归地添加'box'objects
,并用一个array
位置引用每一个。我的问题不是主要的问题,我已经很容易地解决了。我的问题是object
它正在添加。我不知道这应该是什么样的component
。我尝试使用JPanel
,但无法使任何内容可见。此外,“网格”外观也不会出现
我猜我将不得不利用swing.Graphics
或Graphics2D
,但我在网上找到的每个例子都不适合我。寻找关于使用Graphics
的建议,或者如果有更好的方法获得我想要的,我很乐意尝试一下
# 1 楼答案
拥有一个
MainPanel
类,该类接受维度arumges,并基于指定维度将其布局设置为GridLayout
创建具有
draw()
方法的接口创建一个具有
Drawable
属性的自定义面板,在其中调用它的draw方法在
MainPanel
类中创建DrawPanels
的2D数组,如果需要,您可以通过索引访问它们用
new DrawPanel
填充数组并将它们添加到MainPanel
实现
Drawable
接口,使用您想要的任何/多少实现。像将可绘制对象添加到面板
您可以根据需要对
Drawable
进行任意多个不同的实现,并且每个面板都可以绘制不同的对象# 2 楼答案
使用
JLabel
尝试下面的示例代码快照: