hallo
Ich muss zu meinem bestehendem Projekt ein GUI machen. Das ganze ist ein simples Adressverwaltungssystem.
Es können Personen hinzugefügt werden und Orte(Adressen), und diesen Personen kann man dann eine Adresse zuweisen.
In meiner Klasse TestAppl mache ich solche Einträge und das funktioniert wunderbar. Jetzt möchte ich als nächstes das GUI realisieren. Dazu rufe ich in der selben Klasse meine adressbook_gui auf:
Und das ist sie:
Diese System out Ausgaben funktionieren.
Das Textfeld im Listener wird nicht angezeigt, ich dachte vielleicht muss ich zuerst das jframe neu zeichnen aber ein repaint am ende des ActionListener bringt keine Veränderung.
Die Eigentliche Idee war das ich nun in jedem ActionListener meine "Fenster" erstellen kann, worin wieder Knöpfe mit ActionListener sind welche dann meine gewünschte Funktion ausführen.
Also wenn ich z.B. in der menubar auf "Neu"-> "Neue Person" gehe. Erhalte ich ein Formular mit 2 Textfelder und einem Speicherknopf um diese abzulegen.
Noch dazu kommt, das ich ganz am anfang ein leeres Frame habe und erst wenn ich dieses Fenster vergrössere ider verkleiner sehe ich erst meine Menubar. ???:L
Könt Ihr mir helfen? Vielleicht gehe ich da ganze auch falsch an, die Java/GUI Programmierung liegt schon eine Weile zurück.
Ich muss zu meinem bestehendem Projekt ein GUI machen. Das ganze ist ein simples Adressverwaltungssystem.
Es können Personen hinzugefügt werden und Orte(Adressen), und diesen Personen kann man dann eine Adresse zuweisen.
In meiner Klasse TestAppl mache ich solche Einträge und das funktioniert wunderbar. Jetzt möchte ich als nächstes das GUI realisieren. Dazu rufe ich in der selben Klasse meine adressbook_gui auf:
Code:
Addressbook_gui adressbook = new Addressbook_gui();
Und das ist sie:
Code:
package gui;
import java.awt.BorderLayout;
import java.awt.Event;
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.*;
import org.jdesktop.layout.GroupLayout;
import org.jdesktop.layout.LayoutStyle;
public class Addressbook_gui extends JFrame {
private JMenuBar menuBar;
private JMenu jnew;
private JMenuItem newPerson;
private JMenuItem newOrt;
private JMenu jsearch;
private JMenuItem searchPerson;
private JMenuItem searchOrt;
public JPanel panel;
private int page;
public Addressbook_gui(){
loadWindow();
}
public void loadWindow(){
//Hier wird das Fenster zusammengebaut und geladen
panel = new JPanel();
//Layout
this.setLayout(new BorderLayout());
panel.setLayout(new FlowLayout());
//newPerson
newPerson = new JMenuItem();
newPerson.setText("Neue Person");
newPerson.addActionListener(new ActionListener(){
public void actionPerformed(java.awt.event.ActionEvent evt){
System.out.println("newPerson");
//Dieses TestTextfeld wird nicht angezeigt
JTextField txt = new JTextField();
panel.add(txt);
}
});
//newOrt
newOrt = new JMenuItem();
newOrt.setText("Neuer Ort");
newOrt.addActionListener(new ActionListener(){
public void actionPerformed(java.awt.event.ActionEvent evt){
System.out.println("newOrt");
}
});
//searchPerson
searchPerson = new JMenuItem();
searchPerson.setText("Suche nach Person");
searchPerson.addActionListener(new ActionListener(){
public void actionPerformed(java.awt.event.ActionEvent evt){
System.out.println("searchPerson");
}
});
//searchOrt
searchOrt = new JMenuItem();
searchOrt.setText("Suche nach Ort");
searchOrt.addActionListener(new ActionListener(){
public void actionPerformed(java.awt.event.ActionEvent evt){
System.out.println("searchOrt");
}
});
//Neu
jnew = new JMenu();
jnew.setText("Neu");
jnew.add(newPerson);
jnew.add(newOrt);
//Search
jsearch = new JMenu();
jsearch.setText("Suche");
jsearch.add(searchPerson);
jsearch.add(searchOrt);
//Menubar
menuBar = new JMenuBar();
menuBar.add(jnew);
menuBar.add(jsearch);
//Folgender TestKnopf wir angezeigt
JButton btn = new JButton("Test");
panel.add(btn);
//Fenster
this.add(menuBar, "North");
this.add(panel, "Center");
this.setVisible(true);
this.setTitle("Adressverwaltung");
this.setSize(500,300);
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent we) {
System.out.println("# END #");
System.exit(0);
}
});
}
}
Diese System out Ausgaben funktionieren.
Das Textfeld im Listener wird nicht angezeigt, ich dachte vielleicht muss ich zuerst das jframe neu zeichnen aber ein repaint am ende des ActionListener bringt keine Veränderung.
Die Eigentliche Idee war das ich nun in jedem ActionListener meine "Fenster" erstellen kann, worin wieder Knöpfe mit ActionListener sind welche dann meine gewünschte Funktion ausführen.
Also wenn ich z.B. in der menubar auf "Neu"-> "Neue Person" gehe. Erhalte ich ein Formular mit 2 Textfelder und einem Speicherknopf um diese abzulegen.
Noch dazu kommt, das ich ganz am anfang ein leeres Frame habe und erst wenn ich dieses Fenster vergrössere ider verkleiner sehe ich erst meine Menubar. ???:L
Könt Ihr mir helfen? Vielleicht gehe ich da ganze auch falsch an, die Java/GUI Programmierung liegt schon eine Weile zurück.