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网格布局
我推荐,它非常容易使用,而且总能处理我扔给它的东西

在本例中,我将创建两个面板。第一个面板有一个“包裹3”约束作为miglayout构造函数的参数,第二个面板只有一个按钮,该按钮添加了一个“alignx center,aligny center”约束

以下是一个例子:

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));//以添加空间。