怎么把一个JLabel固定住,具体情况,我定义了一个JLabel内容为一行英文“A Simple Editor”但是一旦我改变JLabel上面的字体,JLabel为了适应字体的大小,就会改变JLabel本身的大小,我想问一下能不能把JLabel的大小固定
p.s.我试了setSize() setMinimumSize() 都没有效果,
p.s.我试了setSize() setMinimumSize() 都没有效果,
private JLabel jLabel = null;
public LabelTest(){
super();
intital();
}
private void intital(){
this.setSize(800,600);
this.getContentPane().setLayout(new FlowLayout());
this.getContentPane().add(getLabel("Test LabelXXXXXXXXXXXXXXXXXXX"));
} private JLabel getLabel(String str) {
if (jLabel == null) {
jLabel = new JLabel(str);
}
Font font = new Font("Times New Roman",Font.BOLD,8);
//Pay Attention To This Row
jLabel.setPreferredSize(new Dimension(100,50) );
jLabel.setBorder(BorderFactory.createEtchedBorder());
return jLabel;
}
public static void main(String[] args) {
final LabelTest jFrame = new LabelTest();
jFrame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent event) {
jFrame.dispose();
System.exit(0);
}
});
jFrame.setVisible(true); }
}给你写了个Sample,在我写GUI的时候,发现从JComponent继承的setSize方法经常是无效的,使用setPreferredSize(Dimension dim)同样可以达到目的,原因不明,望楼下的补充……