Java小程序哪个布局适合此接口?
哪个布局最适合此界面?我尝试了Java小程序哪个布局适合此接口?,java,swing,applet,awt,layout-manager,Java,Swing,Applet,Awt,Layout Manager,哪个布局最适合此界面?我尝试了FlowLayout,但无法将提交按钮放置在正确的位置。 第一个具有两列的网格布局 在第一列中添加panal1,在第二列中添加submit withBorderLayout.CENTER 在这种情况下,您可以使用3x3网格布局 我推荐,它非常容易使用,而且总能处理我扔给它的东西 在本例中,我将创建两个面板。第一个面板有一个“包裹3”约束作为miglayout构造函数的参数,第二个面板只有一个按钮,该按钮添加了一个“alignx center,aligny cente
FlowLayout
,但无法将提交按钮放置在正确的位置。- 第一个具有两列的网格布局
- 在第一列中添加panal1,在第二列中添加submit with
BorderLayout.CENTER
- 在这种情况下,您可以使用3x3网格布局
public class TestApplet extends JApplet{
@Override
public void init() {
super.init();
setSize(400, 300);
setLayout(new MigLayout("fill, insets 0"));
JPanel leftPanel = new JPanel(new MigLayout("wrap 3"));
for (int i = 0; i < 9; i++) {
leftPanel.add(new JButton(""+i));
}
add(leftPanel);
JPanel rightPanel = new JPanel(new MigLayout());
rightPanel.add(new JButton("submit"), "alignx center, aligny center");
add(rightPanel);
}
}
public类TestApplet扩展了JApplet{
@凌驾
公共void init(){
super.init();
设置大小(400300);
setLayout(新的MigLayout(“填充,插入0”));
JPanel leftPanel=新的JPanel(新的MigLayout(“wrap 3”);
对于(int i=0;i<9;i++){
添加(新的JButton(“+i”);
}
添加(左面板);
JPanel rightPanel=newjpanel(newmiglayout());
添加(新的JButton(“提交”),“alignx中心,aligny中心”);
添加(右面板);
}
}
您只需根据需要对按钮上的数字进行排序。我在JFrame上进行了尝试,您也可以在小程序中进行同样的操作 创建一行两列的网格。
使用页面轴在第二个面板上创建框布局,然后确保按钮位于中心的垂直胶水。 创建一个3x3的网格并添加按钮 代码示例:
JFrame frame = new JFrame();
frame.setLayout(new GridLayout(1, 2));
JPanel leftPanel = new JPanel(new GridLayout(3, 3));
for(int i=0;i<9;i++)
{
JButton button = new JButton();
button.setText(i+"");
leftPanel.add(button);
}
frame.add(leftPanel);
JPanel rightPanel = new JPanel();
BoxLayout layout = new BoxLayout(rightPanel, BoxLayout.PAGE_AXIS);
rightPanel.setLayout(layout);
JButton button = new JButton("Submit");
button.setAlignmentX(
Component.CENTER_ALIGNMENT);
rightPanel.add(Box.createVerticalGlue()); //Ensure this order
rightPanel.add(button);
rightPanel.add(Box.createVerticalGlue());
frame.add(rightPanel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
JFrame=newjframe();
frame.setLayout(新的GridLayout(1,2));
JPanel leftPanel=新的JPanel(新的网格布局(3,3));
对于(int i=0;iBorderLayout.CENTER将占据整个第二个面板。更改JPanel leftPanel=new JPanel(new GridLayout(3,3));更改为JPanel leftPanel=new JPanel(new GridLayout(3,3,10,10));//以添加空间。