Hallo,
Ích habe ein riesiges Problem und zwar soll ich eine kleine Datenbank erstellen in der ich Haushaltsgegenstände speichern kann. Die GUI ist fertig, alles super aber irgendwie möchte ich meine Daten auch in einer Liste speichern, die ich in einer Liste in meiner GUI ausgeben kann. ich soll dazu eine seperate ActionListener Klasse erstellen aber genau die macht mir arge probleme:
initFromModel() und updateModel sind die Methoden in der die Werte eigentlich übergeben werden sollen, toll aber sie sollen durch eine ActionListenerKlasse abgerufen werden damit ich die neuen Werte (zB.:EingabeGegenstandBeschreibung) speichern kann.
Das hier ist die halbfertige ActionListerner Klasse:
Bei bestaetigen soll das Event eigentlich passieren,..hmm wisst ihr eine Lösung?:bahnhof:
Ích habe ein riesiges Problem und zwar soll ich eine kleine Datenbank erstellen in der ich Haushaltsgegenstände speichern kann. Die GUI ist fertig, alles super aber irgendwie möchte ich meine Daten auch in einer Liste speichern, die ich in einer Liste in meiner GUI ausgeben kann. ich soll dazu eine seperate ActionListener Klasse erstellen aber genau die macht mir arge probleme:
Java:
package gruppe03.mvc.gui;
import gruppe03.mvc.model.GegenstandInfo;
import gruppe03.mvc.model.Stammdaten;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.LayoutManager;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import javax.swing.*;
import javax.swing.border.EtchedBorder;
import javax.swing.border.TitledBorder;
import gruppe03.mvc.model.GegenstandInfo;
public class GegenstandInfoDialog extends JFrame
{
private GegenstandInfo model;
private JLabel LabelEingabeGegenstandBeschreibung = new JLabel ("Beschreibung eingeben");
private JTextField EingabeGegenstandBeschreibung = new JTextField(10);
private JLabel LabelEingabeGegenstandWert = new JLabel("Preis eingeben");
private JTextField EingabeGegenstandWert = new JTextField(10);
private JLabel LabelEingabeGegenstandGewicht = new JLabel("Gewicht eingeben");
private JTextField EingabeGegenstandGewicht = new JTextField(10);
private JLabel LabelEingabeGegenstandVolumen = new JLabel("Volumen eingeben");
private JTextField EingabeGegenstandVolumen = new JTextField(10);
private JLabel LabelEingabeGegenStandKategorie = new JLabel("Kategorie auswählen");
private JComboBox EingabeGegenstandKategorie = new JComboBox(Stammdaten.KATEGORIE);
private JLabel LabelEingabeGegenstandRaum = new JLabel("Raum auswählen");
private JComboBox EingabeGegenstandRaum = new JComboBox(Stammdaten.RAEUME);
private JLabel LabelEingabeGegenstandZerbrechlich = new JLabel("Zerbrechlich Ja/Nein");
private JComboBox EingabeGegenstandZerbrechlich = new JComboBox(Stammdaten.ZERBRECHLICH);
private JLabel LabelEingabeGegenstandAnmerkung = new JLabel("Anmerkungen eigeben");
private TextArea EingabeGegenstandAnmerkung = new TextArea("",10,5,TextArea.SCROLLBARS_VERTICAL_ONLY);
private JButton EingabeBestätigen = new JButton("Bestätigen");
private JButton EingabeAbbrechen = new JButton ("Abbrechen");
private JFrame bearbeitungFenster = new JFrame();
public void GegenstaendeFrameMenuBearbeiten()
{
bearbeitungFenster.setSize(300, 700);
bearbeitungFenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
bearbeitungFenster.setLocation(30,30);
bearbeitungFenster.setVisible(true);
}
public void GegenstandBearbeitenBox()
{
Box gegenstandBearbeitenBox = Box.createVerticalBox();
gegenstandBearbeitenBox.add(LabelEingabeGegenstandBeschreibung);
gegenstandBearbeitenBox.add(EingabeGegenstandBeschreibung);
gegenstandBearbeitenBox.add(Box.createVerticalStrut(5));
gegenstandBearbeitenBox.add(LabelEingabeGegenstandWert);
gegenstandBearbeitenBox.add(EingabeGegenstandWert);
gegenstandBearbeitenBox.add(Box.createVerticalStrut(5));
gegenstandBearbeitenBox.add(LabelEingabeGegenstandGewicht);
gegenstandBearbeitenBox.add(EingabeGegenstandGewicht);
gegenstandBearbeitenBox.add(Box.createVerticalStrut(5));
gegenstandBearbeitenBox.add(LabelEingabeGegenstandVolumen);
gegenstandBearbeitenBox.add(EingabeGegenstandVolumen);
gegenstandBearbeitenBox.add(Box.createVerticalStrut(5));
gegenstandBearbeitenBox.add(LabelEingabeGegenStandKategorie);
gegenstandBearbeitenBox.add(EingabeGegenstandKategorie);
gegenstandBearbeitenBox.add(LabelEingabeGegenstandRaum);
gegenstandBearbeitenBox.add(EingabeGegenstandRaum);
gegenstandBearbeitenBox.add(Box.createVerticalStrut(5));
gegenstandBearbeitenBox.add(LabelEingabeGegenstandZerbrechlich);
gegenstandBearbeitenBox.add(EingabeGegenstandZerbrechlich);
gegenstandBearbeitenBox.add(Box.createVerticalStrut(10));
gegenstandBearbeitenBox.add(LabelEingabeGegenstandAnmerkung);
gegenstandBearbeitenBox.add(EingabeGegenstandAnmerkung);
JPanel panelGegenstandBearbeiten = new JPanel(new BorderLayout());
panelGegenstandBearbeiten.setLayout(new FlowLayout(FlowLayout.CENTER));
panelGegenstandBearbeiten.setBorder(new TitledBorder(new EtchedBorder(),"Gegenstand bearbeiten"));
panelGegenstandBearbeiten.add(gegenstandBearbeitenBox, BorderLayout.NORTH);
Box top = Box.createHorizontalBox();
top.add(Box.createHorizontalStrut(0));
top.add(panelGegenstandBearbeiten);
Container inhalt = bearbeitungFenster.getContentPane();
BoxLayout box = new BoxLayout(inhalt, BoxLayout.X_AXIS);
inhalt.setLayout(box);
inhalt.add(top);
}
public void GegenstandBearbeitenBestaetigenBox()
{
Box gegenstandBearbeitenButtonBox = Box.createVerticalBox();
gegenstandBearbeitenButtonBox.add(EingabeBestätigen);
EingabeBestätigen.setActionCommand("bestaetigen");
EingabeBestätigen.addActionListener(new GegenstandHandler());
gegenstandBearbeitenButtonBox.add(Box.createVerticalStrut(10));
gegenstandBearbeitenButtonBox.add(EingabeAbbrechen);
JPanel panelGegenstandBearbeitenButton = new JPanel(new BorderLayout());
panelGegenstandBearbeitenButton.setLayout(new FlowLayout(FlowLayout.LEFT));
panelGegenstandBearbeitenButton.setBorder(new TitledBorder(new EtchedBorder(),"Bestätigen oder Abrrechen"));
panelGegenstandBearbeitenButton.add(gegenstandBearbeitenButtonBox, BorderLayout.EAST);
Box topButtonBox = Box.createHorizontalBox();
topButtonBox.add(Box.createHorizontalStrut(0));
topButtonBox.add(panelGegenstandBearbeitenButton);
Container inhaltButton = bearbeitungFenster.getContentPane();
BoxLayout boxButton = new BoxLayout(inhaltButton, BoxLayout.Y_AXIS);
inhaltButton.setLayout(boxButton);
inhaltButton.add(topButtonBox);
}
private void initFromModel ()
{
EingabeGegenstandBeschreibung.setText (model.getBeschreibung());
}
private void updateModel ()
{
model.setBeschreibung (EingabeGegenstandBeschreibung.getText());
}
public GegenstandInfoDialog()
{
GegenstandBearbeitenBox();
GegenstaendeFrameMenuBearbeiten();
GegenstandBearbeitenBestaetigenBox();
[B]initFromModel();
updateModel();[/B]
}
}
Das hier ist die halbfertige ActionListerner Klasse:
Java:
package gruppe03.mvc.gui;
import gruppe03.mvc.model.*;
import gruppe03.mvc.gui.*;
import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.JOptionPane;
public class GegenstandHandler implements ActionListener
{
public void GegenstandHandler()
{
GegenstandInfoDialog g = new GegenstandInfoDialog();
}
public void actionPerformed(ActionEvent e)
{
if("bearbeiten"==e.getActionCommand())
{
GegenstandInfoDialog dlg = new GegenstandInfoDialog();
dlg.dispose();
}
if("hinzufuegen"==e.getActionCommand())
{
System.out.print("yeah");
}
if("Gegenstand bearbeiten"==e.getActionCommand())
{
GegenstandInfoDialog dlg = new GegenstandInfoDialog();
dlg.dispose();
}
if ("bestaetigen"==e.getActionCommand())
{
}
}
}
Zuletzt bearbeitet von einem Moderator: