Im nouveau à Java et essayer d'obtenir ma tête autour des différentes fonctions, mon mal de tête en cours est MouseListenersMouseListeners et Tabbed Détection ligne
J'ai un JTabbedPane avec trois onglets tenant chacun (JScrollPane plus un JTable) j'ai besoin maintenant pour détecter quelle ligne de l'onglet est cliqué et Im frapper des problèmes. Dois-je placer un seul écouteur sur le premier volet et détecter quel onglet a été sélectionné? ou est-ce que j'en mets un sur chaque JTable?
J'ai essayé le code suivant, mais pour une raison quelconque quand je le lance, il fait erreur
standardTable.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
JTabbedPane aPane = (JTabbedPane)e.getComponent();
if(e.getClickCount()==2) {
detectMouseClickRow(aPane, e);
} // do this if double click
if(e.getClickCount()==1) {
detectSingleClick(aPane, e);
} // Do this if its a single click
}
});
Quand je lance ce qui précède Netbeans me signale un problème, mais ne marche pas la liste où, donc je l'ignorer et il des erreurs à detectMouseClickRow (aPane, e); ou son seul clic variante
ClassCastException: javax.swing.JTable ne peut pas être jeté à javax.swing.JTabbedPane
je pouvais faire avec des pointeurs parce que je suis prolly se tromper ici et ce n'est pas meilleure méthode à utiliser?
Le message est explicite. Alors, où dans votre code essayez-vous de lancer un Objet sur un JTabbedPane. L'erreur vous indique que l'objet est une JTable, donc vous devriez convertir l'objet en JTable. Cela est logique puisque vous ajoutez l'écouteur à JTable, pas à JTabbedPane, donc je ne sais pas pourquoi vous pensez que l'objet serait un JTabbedPane. – camickr