在 java 中设计特定的 UI
Designing specific UI in java
我想使用 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
第二个面板包含网格..
然后将两个面板添加到具有布局边框布局的框架
但是没有添加按钮并且网格看起来很小...当我单击该网格按钮时它会展开..
有人可以帮我创建这个 UI 吗?我是 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);
不要伤害
我想使用 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 第二个面板包含网格.. 然后将两个面板添加到具有布局边框布局的框架
但是没有添加按钮并且网格看起来很小...当我单击该网格按钮时它会展开..
有人可以帮我创建这个 UI 吗?我是 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);
不要伤害