我设计了一个JToolBar,并且在上边添加了一个JComboBox,可是我发现这个JComboBox长度无法控制,它将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说得对,楼主以后注意了,这些大小的问题一般都是和布局管理器有关的,以后我会贴几篇教程的