【发布时间】:2010-10-21 02:02:42
【问题描述】:
你知道有什么方法可以从 Java 中的 JComboBox 中删除边框吗?我尝试以下代码
public class ComboFrame extends JFrame {
public ComboFrame() {
JPanel container = new JPanel();
JComboBox cmb = new JComboBox(new String[] { "one", "two" });
cmb.setBorder(BorderFactory.createEmptyBorder());
container.add(cmb);
getContentPane().add(container);
pack();
}
}
和
public static void main(String[] args) throws Exception {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
EventQueue.invokeLater(new Runnable() {
public void run() {
new ComboFrame().setVisible(true);
}
});
}
不要问为什么有人要从组合框上删除边框...我想这没有多大意义,但这就是它想要的方式,我真的很好奇它是否可以做到。我尝试了几种技巧,但都没有奏效。
最有效的方法是改变 UI
cmb.setUI(new BasicComboBoxUI());
这会使边框消失,但会改变 L&F,如果可能,我需要保留 Windows L&F。
谢谢。
【问题讨论】:
标签: java border jcombobox noborder