我有一个名为 cell 的类,它扩展了 JButton。然后我在 gridlayout(4,4,3,3) 中有 16 个 Jbutton。是否可以让每个单元格跟踪其在网格布局中的位置(我需要知道一个单击的 JButton 是否靠近另一个特定的 JButton)。
最佳答案
您可以简单地创建一个类来扩展 JButton
并为网格中的位置添加两个字段。创建一个为这些字段赋值的新构造函数(或 setter),以及两个将返回它们的简单 getter。
示例:
class MyJButton extends JButton {
private int gridx;
private int gridy;
public MyJButton(String label, int gridx, int gridy) {
super(label);
this.gridx = gridx;
this.gridy = gridy;
}
public int getGridx() {
return gridx;
}
public int getGridy() {
return gridy;
}
}
您可以在构建 GUI 时分配这些 gridx
、gridy
值。例如,下面创建了 16 个按钮,标记了它们在网格中的位置:
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
MyJButton btn = new MyJButton(i + "," + j, i, j);
//Configure your button here...
panel.add(btn);
}
}
关于java - JButton 应该如何跟踪它在 GridLayout 中的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22762395/