Java swing 中组件的效果
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,可是为什么设置大小的效果没有显示呢?请各位帮帮忙~
------解决方案--------------------
布局管理器根据preferrredsize计算大小,不是 size
把 setSize 改成 setPreferredSize
------解决方案--------------------setPreferredSize也没用吧?
都指定了BorderLayout.NORTH,BorderLayout.SOUTH
------解决方案--------------------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));