怎样改变按钮的大小??
各位大哥大姐,怎样在又不局管理的情况下改变按钮的大小?
比如我在一个JPanel上面添加一些按钮,想在使用FlowLayout的情况下改变按钮的大小,该怎么实现?我试了一下,改变按钮的大小只有在不使用布局管理的情况下才能改变。这是我的代码,希望哪位高手能帮我改一下,或者直接给一个完整的代码,万分感激!!!
Java code
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Test extends JFrame{
Test(){
Container cp=getContentPane();
JButton b=new JButton("Button");
b.setBackground(Color.green);
b.setSize(100,80);
JPanel p=new JPanel();
p.setSize(100,90);
p.setBackground(Color.yellow);
p.add(b);
cp.add(p);
setVisible(true);
setBounds(300,200,300,200);
}
public static void main(String []fs){
Test frm=new Test();
}
}
------解决方案--------------------使用 setPreferredSize 方法、setSize 方法 在使用布局管理器时被无视
------解决方案--------------------setSize()已经过时了 ,没用 ,应该使用setPreferredSize( new Dimension(width,height))
------解决方案--------------------把b.setSize(100,80);换成b.setPreferredSize(new Dimension(100,80));就可以了。
------解决方案--------------------setPreferredSize
因为布局器会用 getPreferredSize 方法获取到的大小去 调用 setSize
推荐你自己去写一个布局器,就会明白的。