1
En fait, je veux ajouter une image et du texte à la fois dans la zone de liste déroulante. J'ai utilisé JLabel
pour cela, mais cela ne fonctionne pas, alors comment puis-je y parvenir.Comment ajouter de l'image et du texte à la fois dans la zone de liste déroulante dans Java
Voici mon code:
package swing;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.util.Vector;
import javax.swing.ImageIcon;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class ComboBox {
public ComboBox() {
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame("ComboBOx");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container con = frame.getContentPane();
JLabel ar[] = new JLabel[5];
ar[0] = new JLabel("ganesh",new ImageIcon("/images/g.jpg"),JLabel.HORIZONTAL);
ar[1] = new JLabel("ganes",new ImageIcon("/images/g.jpg"),JLabel.HORIZONTAL);
ar[2] = new JLabel("gane",new ImageIcon("/images/g.jpg"),JLabel.HORIZONTAL);
ar[3] = new JLabel("gan",new ImageIcon("/images/g.jpg"),JLabel.HORIZONTAL);
ar[4] = new JLabel("ga",new ImageIcon("/images/g.jpg"),JLabel.HORIZONTAL);
JComboBox<JLabel> box = new JComboBox<JLabel>(ar);
con.add(box);
con.setBackground(Color.white);
con.setLayout(new FlowLayout());
frame.setVisible(true);
frame.pack();
}
public static void main(String args[]) {
new ComboBox();
}
}
Jetez un oeil à [Comment utiliser combobox, fournissant un moteur de rendu personnalisé] (https: // docs.oracle.com/javase/tutorial/uiswing/components/combobox.html#renderer) qui a un exemple démontrable – MadProgrammer
Ne pas utiliser les composants comme objets dans les modèles, un modèle est supposé ne transporter que des données, la présentation des données est mise à jour à la vue (le 'JComboBox' et le rendu de cellule dans ce cas) – MadProgrammer
Je suis votin g pour fermer cette question hors-sujet car [Comment utiliser les combos] (https://docs.oracle.com/javase/tutorial/uiswing/components/combobox.html#renderer) fournit un exemple qui résoudra numéro primaire – MadProgrammer