看看
GridBagLayout GridLayout 
这两个类

解决方案 »

  1.   

    panel.setLayout(new BorderLayout());
    panel.add(JLabel1,BorderLayout.EAST);
    panel.add(JLabel1,BorderLayout.WEST);
    panel.add(JButton,BorderLayout.CENTER);
      

  2.   

    错了,应该是:
    panel.setLayout(new BorderLayout());
    panel.add(JLabel1,BorderLayout.EAST);
    panel.add(JLabel2,BorderLayout.WEST);
    panel.add(JButton,BorderLayout.CENTER);
      

  3.   

    不指定使用哪种布局把 JLabel 和 JButton 按顺序 add 就行了吧
    JPanel pane = new JPanel();
    pane.add(JLabel1);
    pane.add(JButton);
    pane.add(JLabel2);
    或者可以用
    FlowLayout flowLayout1 = new FlowLayout();
      

  4.   

    这些我都用过,但是在窗口缩放大小的时候,所有三个控件总是挤在中间,我要的效果是两个label分别在窗口的边上,而button在中间不便,我不想使用使用GridBagLayout,实在是太麻烦了。
      

  5.   

    BorderLayout是就整个平面而言的东西南北中;
    FlowLayout在改变大小之后布局会自动调整,
    试试这样:
    JPanel panel = new JPanel();
    panel.setLayout(new BoxLayout(panel,BoxLayout.X_AXIS));
    pane.add(JLabel1);
    pane.add(JButton);
    pane.add(JLabel2);
    或者:
    JPanel panel = new JPanel();
    panel.setLayout(new GirdLayout(1,3,2,2));
    pane.add(JLabel1);
    pane.add(JButton);
    pane.add(JLabel2);
      

  6.   

    谢谢大米,GridLayout的后面两个参数非常有用,给分了。
      

  7.   

    共同进步.
    addoil, all java programmers.