[Java] - JComboBox dans une ligne et Images dans l'autre
Bonjour,
J'ai un JTable avec deux lignes créé à partir d'un modèle.
J'aimerais mettre des JComboBox dans la première ligne et des images dans la deuxième.
Je sais mettre les images et les JComboBox dans des colonnes (une colonne de chaque), mais je n'arrive pas à gérer l'affichage en ligne.
Dans le getTableCellRenderer, je n'arrive pas à faire des conditions du style :
Code:
1 2 3 4 5 6 7 8 9
|
if (row==0) {
//Affichage d'une JComboBox
}
else if {
//Affichage d'une image
} |
Merci d'avance pour votre aide !
Edit :
Réponse trouvée :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row,
int column) {
/**
* AFFICHER LA JCOMBOBOX ET L'IMAGE
*/
//Définir la JComboBox qui servira d'entête
JComboBox<String> renderCombo = new JComboBox<>();
//Afficher le composant uniquement dans la première ligne
if (row == 0) {
try {
//Créer une nouvelle combo avec juste une valeur pour faire un rendu qui ressemble à un éditeur
renderCombo = new JComboBox<>(new DefaultComboBoxModel<>(new String[]{"ComboEditorRenderer"}));
} catch (NullPointerException pasSelection) {
}
//Renvoyer la JComboBox qui servira d'entête
return renderCombo;
}
else {
//Renvoyer une étiquette avec une image à l'intérieur
return new JLabel(imgAtelier);
}
} |