Hallo,
wir arbeiten gerade zu 4. an einer Projektaufgabe und ich bin für das GUI zuständig.
Das ganze soll am Ende eine Mitarbeiterverwaltung mit Datenbankanbindung werden. Nun soll das GUI die Funktion aufweisen, dass ich beim Doppelklick in eine Zeile ein neues Fenster erzeuge, das mir die Daten des Mitarbeiters anzeigt (mehr als in der originalen Tabelle) und ich dort dann löschen oder abbrechen kann.
Den Table habe ich im Konstruktor des Hauptfensters implementiert, weshalb ich bisher nicht auf die Daten zugreifen kann.
Was muss ich ändern, damit ich auf die Daten komme?
Hier mal meine drei bisherigen Klassen:
Haupt-GUI:
Hier mein MouseListener:
und zuletzt noch mein sogenanntes Dialogfenster, welches die Daten anzeigen soll:
Falls es unverständlich ist, einfach fragen.
Ich freue mich über Hilfe
Gruß Niko
wir arbeiten gerade zu 4. an einer Projektaufgabe und ich bin für das GUI zuständig.
Das ganze soll am Ende eine Mitarbeiterverwaltung mit Datenbankanbindung werden. Nun soll das GUI die Funktion aufweisen, dass ich beim Doppelklick in eine Zeile ein neues Fenster erzeuge, das mir die Daten des Mitarbeiters anzeigt (mehr als in der originalen Tabelle) und ich dort dann löschen oder abbrechen kann.
Den Table habe ich im Konstruktor des Hauptfensters implementiert, weshalb ich bisher nicht auf die Daten zugreifen kann.
Was muss ich ändern, damit ich auf die Daten komme?
Hier mal meine drei bisherigen Klassen:
Haupt-GUI:
Java:
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.*;
import java.awt.event.ActionListener;
import java.awt.*;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import javax.swing.JTextArea;
import javax.swing.*;
public class DUMMY implements ActionListener {
JFrame hauptfenster;
Container c;
// Menüleiste
JMenuBar menueLeiste;
// Menüleiste Elemente
JMenu menu;
// Menü
JMenuItem MAanlegen;
//Tabellen Modell
private final TableModel model;
public DUMMY() {
hauptfenster = new JFrame("JMenuBar Beispiel");
c = hauptfenster.getContentPane();
// Menüleiste erzeugen
menueLeiste = new JMenuBar();
// Menüelement erzeugen
menu = new JMenu("Menü");
// Untermenüelement erzeugen
MAanlegen = new JMenuItem("Neuen Mitarbeite anlegen");
MAanlegen.addActionListener(this);
// Menüelemente hinzufügen
menueLeiste.add(menu);
// Untermenüelemente hinzufügen
menu.add(MAanlegen);
//Name der Tabelle
JPanel ueberschrift = new JPanel();
JLabel ueberschrift1 = new JLabel("Mitarbeiter");
//Buttonleiste
JPanel buttonLeiste = new JPanel();
buttonLeiste.setLayout(new FlowLayout());
//Tabellen Inhalt und Überschriften
String[] columnNames = { "ID", "Vorname", "Nachname", "Steuerklasse"};
String[][] rowData = { {"1", "Peter", "Franz", "2", "Extern", "Mosbach", "deutsch"}};
//Tabelle erstellen und nicht editable
model = new DefaultTableModel(rowData, columnNames);
JTable tabelle = new JTable(model) {
public boolean isCellEditable(int x, int y) {
return false;
}
};
tabelle.addMouseListener(new MouseListener());
//SortierButtons
JButton sortierenNachNachname = new JButton("Sortieren nach Nachname");
JButton sortierenNachVorname = new JButton("Sortieren nach Vorname");
JButton sortierenNachID = new JButton("Sortieren nach ID");
JButton sortierenNachSteuerklasse = new JButton("Sortieren nach Steuerklasse");
//Hinzufügen der Elemente zum Container
c.add( new JScrollPane( tabelle ));
c.add(ueberschrift, BorderLayout.NORTH);
ueberschrift.add(ueberschrift1);
c.add(buttonLeiste, BorderLayout.SOUTH);
buttonLeiste.add(sortierenNachID);
buttonLeiste.add(sortierenNachVorname);
buttonLeiste.add(sortierenNachNachname);
buttonLeiste.add(sortierenNachSteuerklasse);
hauptfenster.add(menueLeiste, BorderLayout.NORTH);
hauptfenster.setSize(800, 500);
hauptfenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
hauptfenster.setVisible(true);
}
public void actionPerformed(ActionEvent object) {
if (object.getSource() == MAanlegen){
System.out.println("Neuer Mitarbeiter wird angelegt");
}
}
public static void main(String[] args) {
new DUMMY();
}
}
Hier mein MouseListener:
Java:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class MouseListener extends MouseAdapter{
public void mouseClicked(MouseEvent e){
if (e.getClickCount() == 2) {
new Dialogfenster();
}
}
}
und zuletzt noch mein sogenanntes Dialogfenster, welches die Daten anzeigen soll:
Java:
import java.awt.*;
import javax.swing.*;
public class Dialogfenster {
public Dialogfenster(){
JFrame dialogfenster = new JFrame ("Dialogfenster");
JLabel information = new JLabel("test");
dialogfenster.add(information);
dialogfenster.setSize(500, 250);
dialogfenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
dialogfenster.setVisible(true);
dialogfenster.setLocation(500,500);
}
}
Falls es unverständlich ist, einfach fragen.
Ich freue mich über Hilfe
Gruß Niko