JTable zeile auswählen

Status
Nicht offen für weitere Antworten.
A

auxiliumseeker

Gast
ich habe hier eine Tabelle für CDs, jetzt würde ich gerne ein Event darauf setzen, dass wenn ich auf eine Zeile doppelklicke, ein neues Fenster mit dem Namen der CD erscheint.

Code:
public class CDAnwendung extends JFrame {
  // Attribute der Applikation/Anwendeung
  // die MenueZeile, an die die Menues gehaengt werden sollen
  JMenuBar dieMenuezeile = new JMenuBar();
  // Das "Datei"-Menue , an welches Menue-Punkte gehaengt werden sollen
  JMenu dateiMenue = new JMenu();
  // 2 Menuepunkte die fuer das Datei-Menue gedacht sind, wie man an dem 
  // gewaehlten Namen der Variablen vom Typ JMenuItem sieht.
  JMenuItem dateiOeffnenMenuepunkt = new JMenuItem();
  JMenuItem dateiSpeichernMenuepunkt = new JMenuItem();
  JMenuItem dateiBeendenMenuepunkt = new JMenuItem();
  // Das "Bearbeiten"-Menue , an welches Menue-Punkte gehaengt werden sollen
  JMenu bearbeitenMenue = new JMenu();
  // ein Menuepunkt fuer das "Bearbeiten"-Menue
  JMenuItem bearbeitenKopierenMenuepunkt = new JMenuItem();
  JLabel derText = new JLabel();

  //Das Scroll-Feld fuer die Tabelle
  JScrollPane ScrollFeld = new JScrollPane();

  // Die Tabelle in der die CDs angezeigt werden sollen:
  JTable CDTabelle = new JTable();

  TableModelEvent mytme;

  // Das Tabellenmodell, welches die Eigenschaften der Tabelle festlegt.
  // Das Tabellenmodell muss von uns in der entprechenden Klassendatei "CDTableModel.java"
  // festgelegt werden.
  CDTableModel unserTabellenModell;

  // Der Konstruktor, der die Methode/Prozedur jbInit
  // aufruft, die weiter unten ausprogrammiert ist.    
  public CDAnwendung() {
      jbInit();
      }

  // Die Main-Methode 
  public static void main(String[] args) {
    CDAnwendung meineCDAppli= new CDAnwendung();
    }

  // 
  private void jbInit() {
    // Fenstergroesse festlegen
    setSize(300,250);
    //  Die erscheinenden Texte der Menuepunkte festlegen
    dateiMenue.setText("Datei");
    dateiOeffnenMenuepunkt.setText("Öffnen");
    dateiOeffnenMenuepunkt.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
       CDContainer.getInstance().laden("daten.ser");
       CDTabelle.tableChanged(mytme);
      }
    });
    dateiSpeichernMenuepunkt.setText("Speichern");
    dateiSpeichernMenuepunkt.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
       CDContainer.getInstance().speichern("daten.ser");
      } 
    });

    dateiBeendenMenuepunkt.setText("Beenden");
    bearbeitenMenue.setText("Bearbeiten");
    bearbeitenKopierenMenuepunkt.setText("Neue CD anlegen...");
    // Den Menuepunkt "Neue CD anlegen..." mit einer Aktion belegen.
    // Bei einem Menueaufruf wird die unten selbst programmierte Methode
    // bearbeitenKopierenMenuepunkt_actionPerformed(e) aufgerufen !!
    bearbeitenKopierenMenuepunkt.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        bearbeitenKopierenMenuepunkt_actionPerformed(e);
      }
    });
    // Das Layout des Zeichenbereichs auf kein (null) Layout setzen.
    getContentPane().setLayout(null);
    // Menue-Zeile dem Fenster hinzufuegen 
    setJMenuBar(dieMenuezeile);

    derText.setText("Nichts ist passiert");
    derText.setBounds(new Rectangle(10, 120, 199, 17));
    // Die Menuestruktur aufbauen ...
    dieMenuezeile.add(dateiMenue);
    dieMenuezeile.add(bearbeitenMenue);
    dateiMenue.add(dateiOeffnenMenuepunkt);
    dateiMenue.add(dateiSpeichernMenuepunkt);
    dateiMenue.addSeparator();
    dateiBeendenMenuepunkt.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
	  DateiEnde_actionPerformed(e); 
      }
    });
    dateiMenue.add(dateiBeendenMenuepunkt);
    bearbeitenMenue.add(bearbeitenKopierenMenuepunkt);

    this.getContentPane().add(derText, null);

    
    // Die Groesse des Feldes, auf welches die Tabelle gesetzt werden soll, festlegen:
    ScrollFeld.setBounds(new Rectangle(10, 10, 200, 100));
    // das ScrollFeld dem Fenster hinzufuegen 
    this.getContentPane().add(ScrollFeld);
    // Zeichenbereich des  ScrollFeldes bestimmen und die Tabelle darauf hinzufuegen
    ScrollFeld.getViewport().add(CDTabelle);

    // Das Tabellenmodel anlegen. Die Klasse CDTableModel legt die Eigenschaften der 
    // Tabelle fest. Siehe auch CDTableModel.java

    unserTabellenModell = new CDTableModel();
    CDTabelle.setModel(unserTabellenModell);

    mytme = new TableModelEvent(unserTabellenModell);
    
    this.setVisible(true);
  }

  void DateiEnde_actionPerformed(ActionEvent e) {
    System.exit(0);
    
    }

  void bearbeitenKopierenMenuepunkt_actionPerformed(ActionEvent e) {
    // eine neue, leere CD zur Bearbeitung anlegen
    CD testCD = new CD();
    // den Bearbeitungsdialog für diese CD aufrufen
    CDInputDialog myDialog = new CDInputDialog(testCD);
    // den Dialog modal setzen
    myDialog.setModal(true);
    // und anzeigen
    myDialog.setVisible(true);
    // nach der Bearbeitung zeigen wir den Titel an
    derText.setText(testCD.getTitel());
    // cschelle
    CDContainer cdc;
    cdc=CDContainer.getInstance();
    if(myDialog.getOKstatus()==true)CDContainer.getInstance().addCD(testCD);
    // CDContainer.getInstance()
    cdc.TestAusgabe();
    CDTabelle.tableChanged(mytme);
  }
}

das Hauptfenster

Code:
public class CDTableModel extends AbstractTableModel {
    public int getRowCount()
    {
        return CDContainer.getInstance().getCDNumber();
        /*return 2;*/
    }

    public int getColumnCount()
    {
        return 1;
    }

    public String getColumnName(int col)
    {
		switch(col)
        {
        case 0: return "Titel der CD";
       /* case 1: return "Interpret";
        case 2: return "Ort";
        case 3: return "Spieldauer";
        case 4: return "Musikrichtung";
        case 5: return "erschienen am";
        case 6: return "verliehen an";
        case 7: return "Kopie?"; */
        default: break;
        }
        return "";
    }

    public Object getValueAt(int row, int col)
    {
        CD theCD = CDContainer.getInstance().getCD(row);
        // if(theCD != null)
		switch(col)
        {
        case 0: return theCD.getTitel();
        // case 0: return "Wo kommt dieser Eintrag her ?";
        /*
        case 0: return theCD.getTitel();
        case 1: return theCD.getInterpret();
        case 2: return theCD.getAufbewahrungsort();
        case 3: return theCD.getGesamtspieldauer();
        case 4: return theCD.getMusikrichtung();
        case 5: return theCD.getErscheinungsdatum();
        case 6: return theCD.getVerliehenAn();
        case 7: if(theCD.getIsKopie() == true) return "J"; else return "N";*/
        default: break;
        }

        return "";
    }
}

und der TabeleModell
 

GilbertGrape

Bekanntes Mitglied
Hallo,

Sorry, aber ich hab jetzt nicht deinen ganzen Code gelesen, aber vielleicht hilft dir ja das schon:

Code:
textTable.addMouseListener(new MouseAdapter() {
			public void mouseClicked(final MouseEvent e) {
				//Doppelklick auf einen Tabelleneintrag
				if (e.getClickCount() == 2) {
                                .....
         }
Damit kannst du den Doppelklick abfragen und mit getSelectedRow kriegst du ja dann den entsprechenden Eintrag
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R JTable: nur eine Zeile auswählen AWT, Swing, JavaFX & SWT 2
T Zeile in JTable mit Doppelklick auswählen AWT, Swing, JavaFX & SWT 8
VfL_Freak Swing Einzelne Zeile in jTable selektieren klappt nicht AWT, Swing, JavaFX & SWT 7
T Swing JTable Zeile mit ausgelesenen Werten mit Hilfe von einem Button hinzufügen AWT, Swing, JavaFX & SWT 1
J Swing JTable Zeile nicht auswählbar machen AWT, Swing, JavaFX & SWT 0
J JTable Zeile anklicken und neues Frame öffnen AWT, Swing, JavaFX & SWT 4
S JTable nach aktualisierung - neue Zeile nicht "klickbar" AWT, Swing, JavaFX & SWT 0
D Swing Letzte Zeile einer JTable nicht über RowSorter sotieren AWT, Swing, JavaFX & SWT 2
B jTable ganze Zeile anhand eines Kriterium färben AWT, Swing, JavaFX & SWT 6
P Swing Alle Zeilen einer Spalte (jTable) zusammen zählen und in eine eigene Zeile das Ergebnis schreiben. AWT, Swing, JavaFX & SWT 7
Ollek Swing JTable - Zeile löschen mit AbstractTableModel AWT, Swing, JavaFX & SWT 20
S Swing Kopieren einer vollständigen Zeile einer JTable AWT, Swing, JavaFX & SWT 3
H Unterschiedliche JComboBox je JTable Zeile AWT, Swing, JavaFX & SWT 4
J Swing JTable: Komplette Zeile aber ohne Spalten markieren AWT, Swing, JavaFX & SWT 11
G Zeile in JTable durch rechte Maustaste manipulieren AWT, Swing, JavaFX & SWT 4
S Swing AWT-Exception bei JTable mit JComboBox beim Löschen der letzten Zeile AWT, Swing, JavaFX & SWT 3
Meldanor Swing JTable - Eine neue Zeile vor einer bestehenden Einfügen AWT, Swing, JavaFX & SWT 2
R Zeile in JTable anhand von Wert einfärben AWT, Swing, JavaFX & SWT 2
N JTable, Zeile bleibt immer selektiert.... AWT, Swing, JavaFX & SWT 3
F Swing JTable: Problem beim zeile löschen AWT, Swing, JavaFX & SWT 3
N Methode zum ermitteln der editierte Zeile/Zelle in jTable AWT, Swing, JavaFX & SWT 8
C Mit SelectionListener herausfinden welche zeile in Jtable angeklickt wurde AWT, Swing, JavaFX & SWT 5
E In JTable neue Zeile mit Tabulator einfügen AWT, Swing, JavaFX & SWT 5
R JTable Hintergrund der Zeile abhängig von Inhalt einer Zelle verändern AWT, Swing, JavaFX & SWT 3
R JTable Zeile löschen AWT, Swing, JavaFX & SWT 4
C JTable mit RowSorter und Drag & Drop: Zeile verschieben AWT, Swing, JavaFX & SWT 4
P JTable zeile einfärben AWT, Swing, JavaFX & SWT 1
N Farbe einer einzelnen Zeile einer JTable ändern AWT, Swing, JavaFX & SWT 10
R JTable: Zellen einer Zeile zusammenfassen? AWT, Swing, JavaFX & SWT 3
D JTable um eine Zeile erweitern AWT, Swing, JavaFX & SWT 4
GilbertGrape JTable - immer leere Zeile AWT, Swing, JavaFX & SWT 6
S in JTable eine Zeile färben AWT, Swing, JavaFX & SWT 5
T JTable ohne Titel in der ersten Zeile AWT, Swing, JavaFX & SWT 2
K leere Zeile zu JTable zufügen AWT, Swing, JavaFX & SWT 2
E JTable letzte Zeile in Fett schrift? AWT, Swing, JavaFX & SWT 3
O JTable + event wenn andere Zeile selektiert ist AWT, Swing, JavaFX & SWT 5
O JTable Zeile zuweisen und weiter mit dem Button AWT, Swing, JavaFX & SWT 2
M JTable & Problem, das nicht die komplette Zeile gefärbt AWT, Swing, JavaFX & SWT 6
G JTable erste zeile fixieren wie in excel? AWT, Swing, JavaFX & SWT 3
Z JTable automatisch zu einer Zeile scrollen AWT, Swing, JavaFX & SWT 4
G JTable Zeile zurückgeben AWT, Swing, JavaFX & SWT 4
D Herausfinden auf welche Zeile in einer JTable geklickt wurde AWT, Swing, JavaFX & SWT 2
S JTable: Zeile unter MouseCursor farblich hervorheben AWT, Swing, JavaFX & SWT 2
N Die Zeile einer JTable verändert beim klicken ihre Farbe? AWT, Swing, JavaFX & SWT 7
S Eine Zeile zu einer JTable hinzufügen wo Zelle selektiert is AWT, Swing, JavaFX & SWT 4
G JTable Zeile mit Farbe füllen AWT, Swing, JavaFX & SWT 2
G JTable komplette Zeile auf deaktiv setzen AWT, Swing, JavaFX & SWT 2
B JTable erste Zeile aktiv AWT, Swing, JavaFX & SWT 6
A Zeile in JTable einfügen/löschen- Tutorial gesucht AWT, Swing, JavaFX & SWT 9
H jtable makierte zeile löschen AWT, Swing, JavaFX & SWT 4
K JTable: letzte Zeile immer sichtbar AWT, Swing, JavaFX & SWT 2
G JTable-Zeile/Zelle markieren und mir Shortcut in Arbeitsspei AWT, Swing, JavaFX & SWT 3
A Zeile in einer JTable einfügen AWT, Swing, JavaFX & SWT 4
K JTable - ganze Zeile soll nicht markiert werden AWT, Swing, JavaFX & SWT 2
F JTable: Selektion einer kompletten Zeile AWT, Swing, JavaFX & SWT 5
G JTable selektion der Zeile bei Fokusieren mit der Maus AWT, Swing, JavaFX & SWT 5
C JTable -> Rechtsklick -> Zeile markieren AWT, Swing, JavaFX & SWT 5
N JTable Ganze Zeile markieren AWT, Swing, JavaFX & SWT 8
G Farbe einer JTable-Zeile von "Außen" ändern AWT, Swing, JavaFX & SWT 2
M JTable mit JCombobox eigene Auswahl pro Zeile ? AWT, Swing, JavaFX & SWT 3
L Falsche Zeile gelöscht nach Spalte Sortierung in JTable AWT, Swing, JavaFX & SWT 2
V Click auf JTable (Zeile) liefert den Eintrag? AWT, Swing, JavaFX & SWT 11
M Farbe der Umrandung einer ausgwählten Zeile ändern (JTable) AWT, Swing, JavaFX & SWT 3
C Aktion auführen nach Doppelklick auf Zeile in JTable AWT, Swing, JavaFX & SWT 10
S JTable + Zeile Selektieren AWT, Swing, JavaFX & SWT 5
V JTable: Bei Klick in Zelle -> Ganze Zeile markeiren AWT, Swing, JavaFX & SWT 7
R Gewählte Zeile aus JTable ausgeben lassen AWT, Swing, JavaFX & SWT 17
J JTable Zeile mit rechtsklick AWT, Swing, JavaFX & SWT 6
G Zeile aus JTable in anderem JTable hinzufügen AWT, Swing, JavaFX & SWT 3
C JTable - Zeile fokussieren / selektieren AWT, Swing, JavaFX & SWT 7
J JTable: ganze Zeile selektieren AWT, Swing, JavaFX & SWT 5
S Neue Zeile in JTable adden AWT, Swing, JavaFX & SWT 3
G JTable! Beim anklicken einer Zeile soll sich Farbe ändern! AWT, Swing, JavaFX & SWT 2
J Drag und drop aus einer JTable - bitte um Unterstützung AWT, Swing, JavaFX & SWT 2
S HPRO und UPRO gemeinsame JTABLE gemeinsamer RENDERER ? AWT, Swing, JavaFX & SWT 1
F Swing JTable - MultiHeader inkl. Eingabemöglichkeit AWT, Swing, JavaFX & SWT 1
S JTable - Feldinhalte anzeigen AWT, Swing, JavaFX & SWT 15
D Swing JTable Spaltenbreite AWT, Swing, JavaFX & SWT 1
W Gibt es einen "automatischen Listener" in Swing oder JTable oder der ATM-Klasse? AWT, Swing, JavaFX & SWT 14
G jTable - getSelectedRow() AWT, Swing, JavaFX & SWT 3
I JTable mit einem Button zu einer Detail Seite springen AWT, Swing, JavaFX & SWT 4
P JTable Listener für die Änderung einzelner Zellen oder Rows AWT, Swing, JavaFX & SWT 2
D Tastaturabfragen CTRL+t, CTRL+E bei eine JTable, bestehend aus JTextAteas AWT, Swing, JavaFX & SWT 4
P Checkboxes in JTable nicht editable AWT, Swing, JavaFX & SWT 9
F Best-Practise: JTable Text in Zelle zu groß AWT, Swing, JavaFX & SWT 2
izoards JTable in CSV File schreiben... AWT, Swing, JavaFX & SWT 23
Kohl Jedes Objekt einer JTable um ein Zeichen verkürzen AWT, Swing, JavaFX & SWT 7
I JTable, DefaultTableModel, zwei Zahlen multiplizieren. AWT, Swing, JavaFX & SWT 26
M JTABLE / wie oft wurde gewürfelt. AWT, Swing, JavaFX & SWT 1
F JTable vergrößern AWT, Swing, JavaFX & SWT 2
H JTable: Diverse NullPointer-Exceptions zur Laufzeit AWT, Swing, JavaFX & SWT 3
J Swing Werte des JTable werden nicht angezeigt AWT, Swing, JavaFX & SWT 9
T Swing JTable cellRenderer mit jpg Hintergrundfarbe lässt sich nicht ändern. AWT, Swing, JavaFX & SWT 1
HoT Einzelne Zelle in JTable Rahmen unten setzen AWT, Swing, JavaFX & SWT 24
B JTable Zellen zusammenfügen AWT, Swing, JavaFX & SWT 3
M Swing Cell Renderer für Zeilenumbruch in JTable AWT, Swing, JavaFX & SWT 0
H JTable im JSplitPane darstellen AWT, Swing, JavaFX & SWT 2
MadMax2506 Swing JTable lädt sehr lange AWT, Swing, JavaFX & SWT 1
D Zeilenumbruch in einer JTable AWT, Swing, JavaFX & SWT 9
R Swing JTable und Spaltenausrichtung AWT, Swing, JavaFX & SWT 8

Ähnliche Java Themen

Neue Themen


Oben