如何在JToolBar中设定JComboBox的大小?
我设计了一个JToolBar,并且在上边添加了一个JComboBox,可是我发现这个JComboBox长度无法控制,它将JToolBar上剩余空间占用完,如果将窗口最大化,它也跟着增长,在视觉上显得非常不好看,太长了,请教各位高手如何可以设置才能将这个JComboBox固定长短?----------------解决方案--------------------------------------------------------
不知楼主是怎么写的,看我下面的例子:
//Test.java
import javax.swing.*;
class ToolBarPanel extends JPanel {
String[] data = {"Hello", "Java", "C/C++"};
ToolBarPanel() {
JToolBar bar = new JToolBar();
bar.add(new JComboBox(data));
add(bar);
}
}
class MyFrame extends JFrame {
MyFrame() {
setTitle("Test");
setSize(300, 200);
ToolBarPanel panel = new ToolBarPanel();
getContentPane().add(panel);
}
}
public class Test {
public static void main(String[] args) {
MyFrame jellen = new MyFrame();
jellen.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jellen.show();
}
}
那个JComboBox默认是占据所有的JToolBar空间,但是当窗口最大化时它并不会增大。
如果你想控制一下JComboBox在JToolBar里的表现,你可以使用BorderLayout等布局模式,让各种部件符合你要的效果。
----------------解决方案--------------------------------------------------------
其实这完全是布局管理器的问题,jellen说得对,楼主以后注意了,这些大小的问题一般都是和布局管理器有关的,以后我会贴几篇教程的
----------------解决方案--------------------------------------------------------
是的,你可以换一下其它的布置方式,不但可以控制长度也可以控制高度的
----------------解决方案--------------------------------------------------------