你知道在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。
谢谢。
发布于 2009-08-25 14:18:32
如果你想使用窗口L&F,你可以使用cmd.setUI(new WindowsComboBoxUI());。但是,如果你想使用任何L&F,你最好使用Jeach提出的解决方案。
https://stackoverflow.com/questions/776893
复制相似问题