JComboBox 和 JButton(2 列)并使 JComboBox 尽可能大?
JComboBox and JButton (2 columns) and keep JComboBox as big as possible?
我正在为一些数据编写表单。此表单的一行包含一个 JComboBox 以从中选择一个元素。它旁边是一个 JButton,用于将元素添加到此 JComboBox。基本上一切正常,除了布局。
表单有固定宽度,完全禁用缩放。如何实现 JButton 在 JComboBox 的右侧,而 JComboBox 仍然尽可能大?
我在 Windows 和 Mac OS 上使用该程序,按钮大小有一些问题,因此为这两个设置固定宽度 columns/components不是真正的选择。
所以它应该是这样的:
|<------- fixed width ------->|
|-----------------------------|
| Form: |
|-----------------------------|
| ________________ ______ |
| |ComboBox v| |Button| |
| ```````````````` `````` |
| |
| ... |
| |
|-----------------------------|
或者当按钮较小时:
|-----------------------------|
| Form: |
|-----------------------------|
| _____________________ _ |
| |ComboBox v| |+| |
| ````````````````````` ` |
| |
| ... |
| |
|-----------------------------|
注意如果ComboBox里面的内容太长,应该缩短类似这样:
______________________
|ComboBoxContentFo... v|
``````````````````````
如果有人能帮我解决这个问题,我会很高兴! :)
你可以试试这两个东西。
comboBox.setPreferredSize(...)
或
comboBox.setPrototypeDisplayValue("XXXXXXXXXXXXXXXXXXXX");
利用布局管理器为您完成这项工作。
一种方法是使用 BorderLayout:
JPanel row = new JPanel( new BorderLayout() );
row.add(comboBox, BorderLayout.CENTER);
row.add(button, BorderLayout.LINE_END);
mainPanel.add( row );
现在按钮将以其首选宽度显示,组合框将得到剩余的部分。
我正在为一些数据编写表单。此表单的一行包含一个 JComboBox 以从中选择一个元素。它旁边是一个 JButton,用于将元素添加到此 JComboBox。基本上一切正常,除了布局。
表单有固定宽度,完全禁用缩放。如何实现 JButton 在 JComboBox 的右侧,而 JComboBox 仍然尽可能大?
我在 Windows 和 Mac OS 上使用该程序,按钮大小有一些问题,因此为这两个设置固定宽度 columns/components不是真正的选择。
所以它应该是这样的:
|<------- fixed width ------->|
|-----------------------------|
| Form: |
|-----------------------------|
| ________________ ______ |
| |ComboBox v| |Button| |
| ```````````````` `````` |
| |
| ... |
| |
|-----------------------------|
或者当按钮较小时:
|-----------------------------|
| Form: |
|-----------------------------|
| _____________________ _ |
| |ComboBox v| |+| |
| ````````````````````` ` |
| |
| ... |
| |
|-----------------------------|
注意如果ComboBox里面的内容太长,应该缩短类似这样:
______________________
|ComboBoxContentFo... v|
``````````````````````
如果有人能帮我解决这个问题,我会很高兴! :)
你可以试试这两个东西。
comboBox.setPreferredSize(...)
或
comboBox.setPrototypeDisplayValue("XXXXXXXXXXXXXXXXXXXX");
利用布局管理器为您完成这项工作。
一种方法是使用 BorderLayout:
JPanel row = new JPanel( new BorderLayout() );
row.add(comboBox, BorderLayout.CENTER);
row.add(button, BorderLayout.LINE_END);
mainPanel.add( row );
现在按钮将以其首选宽度显示,组合框将得到剩余的部分。