J'ai pris un
JFrame
. J'ai ajoutéCanvas
au cadre. J'ai ajoutéJToolbar
au cadre. J'ai ajoutéStatusBarPanel
(s'étendJPanel
) à la trame.Options JCombobox se trouvant derrière la toileBarre d'outils intérieure J'ai ajouté une zone de texte, un bouton et 3 zones de liste déroulante.
Maintenant, chaque fois que j'écris quelque chose dans la boîte de texte, puis cliquez sur zones de liste déroulante, les zones de liste déroulante ouvrir, mais le contenu est caché derrière la toile. Sinon, chaque fois que je n'écris rien dans la zone de texte et que je clique sur les listes déroulantes, les listes déroulantes s'ouvrent très bien.
Comment résoudre ce problème? (Je travaille sur java 8)
Inside class MyFrame extends JFrame{
.....
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setSize(screenSize.width - 60, screenSize.height);
Canvas canvas = new Canvas();
canvas.setFocusable(true);
canvas.setBackground(Color.darkGray);
add(canvas);
MyToolbar myTb = new MyToolbar(myfr);
myTb.initialize();
.....
}
Inside class MyToolbar extends JToolbar{
.....
MyToolbar(MyFrame myframe){
toolbar = new JToolBar("My Toolbar");
toolbar.setBorder(new EmptyBorder(new Insets(8,8,8,8)));
this.myframe = myframe;
}
void initialize(){
JTextField textField = new JTextField("Write something...");
toolbar.add(textField);
toolbar.addSeparator();
JComboBox<String> jComboBox = new JComboBox<String>(new String[] { "abc" });
jComboBox.setSize(40, 20);
toolbar.add(jComboBox);
this.myframe.add(toolbar, BorderLayout.NORTH);
}
.....
}
Mettez à jour votre question avec le code minimum qui reflète votre problème. En fin de compte –
* "J'ai ajouté' Canvas' au cadre. "* Pourquoi? Pourquoi ne pas simplement utiliser un autre' JPanel'? Cela ressemble à un problème de mélange léger (par exemple Swing) et les composants lourds (par exemple AWT), mais nous devrions d'abord savoir si cela est vraiment nécessaire –
@BranislavLazic Notez que '[mcve]' dans un commentaire se développe automatiquement en [mcve] –