2013-02-26 53 views

回答

0

我在JFrame上试过了,你可以在你的applet中做同样的事情。

创建一行两列的网格。
使用Page Axis在第二个面板上创建一个箱体布局,然后确保您的中心有按钮的垂直胶体。 创建一个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); 
+0

更改JPanel leftPanel = new JPanel(new GridLayout(3,3));到JPanel leftPanel = new JPanel(new GridLayout(3,3,10,10)); //添加空间。 – shivaspk 2013-02-26 16:42:59

+0

谢谢它适合我。 – 2013-02-26 18:51:19

1
  • 第一个网格布局有两列。
  • 第一列添加panal1,第二添加添加BorderLayout.CENTER
  • 在panal1中,您可以使用3x3网格布局。
+0

BorderLayout.CENTER将占据全第二面板。 – shivaspk 2013-02-26 16:27:58

+0

@shivaspk然后'setPrefferedSize()'可能工作。 – Arpit 2013-02-26 16:31:10

2

我推荐miglayout,它很容易使用,它总是处理,我在扔它。

在这种情况下,我会创建两个面板。第一个面板有一个“wrap 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); 


} 
} 

enter image description here

你只需要在你需要的按钮号码进行排序。

+1

用于布局的+1,但用于更好地延伸'JApplet'的摇摆 – exexzian 2013-02-26 16:07:40

+0

当然,你是对的!我会纠正这一点。 – htz 2013-02-26 16:17:29