Connaissez-vous un moyen de supprimer la bordure d'un JComboBox en Java? J'essaie le code suivantSupprimer la bordure de 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();
}
}
et
public static void main(String[] args) throws Exception {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
EventQueue.invokeLater(new Runnable() {
public void run() {
new ComboFrame().setVisible(true);
}
});
}
Ne demandez pas pourquoi quelqu'un voudrait supprimer la bordure d'un combobx ... Je suppose que cela n'a pas de sens trop, mais C'est ce que l'on veut et je suis vraiment curieux de savoir si cela est possible. J'ai essayé plusieurs trucs, mais aucun d'entre eux n'a fonctionné.
Le plus efficace est en train de changer l'interface utilisateur avec
cmb.setUI(new BasicComboBoxUI());
Cela fait aller loin de la frontière, mais modifie la L & F, et je dois garder Windows L & F si possible.
Merci.
Merci Jeach! Cela fonctionne en effet pour le L & F par défaut (Metal). Mais sur Windows, avec le système L & F, ça ne veut toujours pas fonctionner ... – Gabriel
6 ans plus tard, merci pour cette réponse! J'essayais de changer la couleur d'un jcombobox modifiable et ne pouvais le faire qu'après avoir réglé son éditeur sur le type de métal. Cependant, cela a provoqué une frontière laide entourant la boîte. L'utilisation de la boucle JComponent a libéré la boîte et l'arrière-plan est bien défini – tenwest