【发布时间】:2014-04-22 00:53:08
【问题描述】:
如何使用 swing 来创建一个 4x4 的彩色、可点击区域网格?好的,所以我有我需要的按钮。这是我拥有的更新代码。我现在正试图让一个文本字段或 jlabel 显示在左下角。但我无法让它工作。我认为制作另一个面板可以解决它,但显然不能。
import java.awt.*;
import java.util.ArrayList;
import javax.swing.*;
public class Heist {
ArrayList<JButton> buttons = new ArrayList<JButton>();
public Heist(){
JFrame frame = new JFrame("Hesit!");
frame.setLayout(new BorderLayout());
JPanel top = new JPanel();
top.setLayout(new BoxLayout(top,BoxLayout.LINE_AXIS));
top.add(new JTextField("Moves: "));
JPanel center = new JPanel();
center.setLayout(new GridLayout(4,4));
for(int i = 0; i < 16; i++){
center.add(new JButton());
buttons.add(new JButton());
}
JPanel bottom = new JPanel();
JPanel bottomR = new JPanel();
bottom.setLayout(new GridLayout(1,2));
bottomR.setLayout(new GridLayout(1,2));
bottomR.add(new JButton ("EMP"));
bottomR.add(new JButton ("Reset"));
bottom.add(new JTextField("Enter/Exit"));
Container pane = frame.getContentPane();
pane.add(top, BorderLayout.NORTH);
pane.add(center, BorderLayout.CENTER);
pane.add(bottom, BorderLayout.SOUTH);
pane.add(bottomR, BorderLayout.SOUTH);
frame.pack();
frame.setSize(400,400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
public static void main(String[] args){
Heist gui = new Heist();
}
}
【问题讨论】:
-
简洁是他们所说的智慧的灵魂,但我们正在扩展事物
-
抱歉,坦率地说,你的问题是个懒惰的问题。将来(甚至现在),如果您首先尝试解决它,您将获得更好的帮助。如果你不这样做,我们怎么知道你被困在哪里或让你感到困惑?此外,您的努力在尊重您和您的问题方面获得了很大的收益,表明您愿意付出努力和主动尝试首先自己解决问题。
-
好吧,到目前为止我已经制作了初始 gui,但我不确定如何添加区域。我尝试添加多个按钮,但它只显示一个按钮。那么请问,我该如何先解决这个问题呢?
-
如果您已经制作了 gui,最好发布您所拥有的并询问您在尝试实现按钮时遇到的问题。
标签: java swing jframe grid-layout