如何使用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();
}
}
答案 0 :(得分:2)
好吧,到目前为止,我已经制作了初步的gui,但我不确定如何 添加区域。我试过添加多个按钮,但它只是 显示一个按钮
JFrame
的默认布局管理器是BorderLayout
,它只允许单个组件占据它支持的五个可用位置中的任何一个。默认位置为CENTER
位置
尝试使用GridLayout
代替
有关详细信息,请参阅Laying Out Components Within a Container