Question

J'ai deux Jtales remplis de données sur un JPanel.Un utilisateur tente de supprimer une ligne de l'une des tables en sélectionnant la ligne et en cliquant sur le bouton "Supprimer".Le problème pour moi est de savoir comment déterminer lequel des deux Jtales a été axé sur le dernier (utilisateur pourrait cliquer sur la ligne dans le tableau 1 puis sur la ligne du tableau 2, puis "Supprimer" et je veuxSupprimer la rangée du tableau 2).Je le verrais peut-être de cette façon:

Les tables ont ajouté listselectionListener qui incendie événement valueceChaged , lorsqu'une ligne est sélectionnée, mais je dois maintenant notifier le composant contenant ces deux tables qui ont été sélectionnéesle dernier

Est-ce que quelqu'un sait comment puis-je résoudre ce problème?Et s'il vous plaît si vous pouviez livrer un exemple de code, il serait grandement apprécié.

Était-ce utile?

La solution

Vous pouvez utiliser la méthode 'Getource' de l'événement que vous recevez pour déterminer quelle table a généré l'événement.Par exemple,

public void valueChanged(ListSelectionEvent e) {
    if (e.getSource() == jTable1.getSelectionModel()) {
      System.out.println("Event occurred in table 1");
    } else if (e.getSource() == jTable2.getSelectionModel()) {
      System.out.println("Event occurred in for table 2");
    }
}

Autres conseils

registre focallistener sur les deux tables à suivre quelle table a été concentrée en dernier.

Plus d'informations Vous trouverez plus d'informations sur http://docs.oracle.COM / Javase / Tutorial / Uiswing / Events / FocusListener.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top