package project.java.frame_test;import java.awt.BorderLayout;import javax.swing.JButton;
import javax.swing.JFrame;public class frame_test { /**
 * @param args
 */
private JFrame frame;
public static void main(String[] args) {
// TODO Auto-generated method stub
frame_test instance = new frame_test();
instance.init_frame(); }


void init_frame()
{
frame = new JFrame();
frame.setSize(400, 400);
this.add_button();
frame.setVisible(true);
}

void add_button()
{
JButton button_ok = new JButton("ok");
JButton button_cancel = new JButton("cancel");

frame.add(button_ok,BorderLayout.NORTH);
frame.add(button_cancel,BorderLayout.SOUTH);

button_ok.setSize(60, 30);
button_cancel.setSize(60, 30);
}
}
我想在窗体上添加button,可是为什么设置大小的效果没有显示呢?请各位帮帮忙~

解决方案 »

  1.   

    布局管理器根据preferrredsize计算大小,不是 size把 setSize 改成 setPreferredSize
      

  2.   

    setPreferredSize也没用吧?
    都指定了BorderLayout.NORTH,BorderLayout.SOUTH
      

  3.   

    JButton button_ok = new JButton("ok");
    JButton button_cancel = new JButton("cancel");
    JPanel panelNorth = new JPanel();
    JPanel panelSouth = new JPanel();
    frame.add(panelNorth, BorderLayout.NORTH);
    frame.add(panelSouth, BorderLayout.SOUTH);
    panelNorth.add(button_ok);
    panelSouth.add(button_cancel);
    button_ok.setPreferredSize(new Dimension(300, 30));
    button_cancel.setPreferredSize(new Dimension(150, 30));