gpt4 book ai didi

java - 用java设计特定的UI

转载 作者:行者123 更新时间:2023-12-02 04:51:15 25 4
gpt4 key购买 nike

我想使用 swings 和 awt 在 java 中创建一个 UI,这样:

**** BUTTON1 , BUTTON2,BUTTON3, BUTTON4, BUTTON5 **** (in a row )
***** GRID OF SIZE 20 X 20 ****** (next)

frame.setSize(1000,700);
frame.setLayout(new BorderLayout());

smile = new ImageIcon("C:/Users/RISHABH/Desktop/PP/MineSweeper/sm.png");
sad = new ImageIcon("C:/Users/RISHABH/Desktop/PP/MineSweeper/smb.png");
mine = new ImageIcon("C:/Users/RISHABH/Desktop/PP/MineSweeper/mine.png");

panel1.setLayout(new BorderLayout());

panel2.setLayout(new GridLayout());
smiley.setIcon(smile);
Dimension d = new Dimension(30,20);
smiley.setPreferredSize(d);//.setSize(30, 20);

panel1.add(timer);
panel1.add(score);
panel1.add(smiley);
panel1.validate();
//frame.add(smiley,BorderLayout.NORTH);
//smiley.addActionListener(this);
//Button grid
buttons = new JButton[nrows][ncols];
grid.setLayout(new GridLayout(nrows,ncols));
for(int i=0;i<nrows;i++){
for(int j=0;j<ncols;j++){
buttons[i][j] = new JButton();
buttons[i][j].addActionListener(this);
grid.add(buttons[i][j]);

}
}
panel2.add(grid,BorderLayout.CENTER);
//frame.add(grid,BorderLayout.CENTER);
frame.add(panel1);
frame.add(panel2);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);

我创建了两个面板..添加了第一个面板,其中所有 3 个按钮的布局设置为 BorderLayout第二个面板包含网格..然后将两个面板添加到具有布局边框布局的框架

但是没有添加按钮并且网格看起来很小......当我单击该网格按钮时它会展开..

有人可以帮我创建这个用户界面吗?我是java新手。请帮忙。

最佳答案

but buttons are not added

frame.setLayout(new BorderLayout());
...
frame.add(panel1);
frame.add(panel2);

您正在使用 BorderLayout。您无法将组件添加到 CENTER,只会显示最后添加的组件。尝试:

frame.add(panel1, BorderLayout.NORTH);
frame.add(panel2.CENTER);

and the grid appears small

frame.setSize(1000,700);

不要对大小进行硬编码。让布局管理器通过调用 pack() 方法来完成其工作:

frame.pack();
frame.setVisible(true);

不要伤害

关于java - 用java设计特定的UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29214339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com