Ein Hauptprogramm mit mehreren Fenstern .

Status
Nicht offen für weitere Antworten.

H3llGhost

Bekanntes Mitglied
Hallo Leute,

wie ihr schon vom Titel erfahrt habe ich vor ein Hauptprogramm zu schreiben.
Aus diesem sollen mehrere Fenster geöffnet werden, welche auch Dialoge beiinhalten.
Das Öffnen von einem Fenster ist nicht mein Problem ...
Wie bekomme ich die Werte die ich in dem geöffneten Fenster in die Textfelder übertragen, wenn ich zum Beispiel auf "OK" klicke?

Hauptprogramm
Code:
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.io.*;

public class SpardoseGUI2 extends JFrame implements ActionListener
{
   private double geld;
   private String zeile = "", zeile2 = "", pfad = "", datein = "", tmp = "";
   private KundenAuslesen ka;
   // Konstruktor, alles was man für die Initialisierung benötigt hier hinein!!
   public SpardoseGUI2()
   {
     try {
       BufferedReader lesen = new BufferedReader(new FileReader("config.ini"));
        while ((zeile = lesen.readLine()) !=null) {
          if (zeile.contains("pfad")) {
           pfad = zeile.replace("pfad=" , "");
          }
          if (zeile.contains("datein")) {
           datein = zeile.replace("datein=" , "");
          }
        }
      }catch(Exception f){
        System.out.println("Fehler: " +f);
      }
     if ((pfad == "") || (datein == ""))
     {
      if (pfad == "") System.out.println("pfad fehlt");
      if (datein == "") System.out.println("dateinamem fehlt");
      System.exit(0);
     } else
     {
      System.out.println("Config erfolgreich ausgelesen ...");
     }

     ka = new KundenAuslesen(pfad+"\\"+datein);
     Person[] personen = ka.auslesen();

     geld = 100;
   }
   public static void main(String args[])
   {
     SpardoseGUI2 fe = new SpardoseGUI2();
     Abfrage ab = new Abfrage();
     //ab.user.getText();
     //ab.removeNotify();
     //Start st = new Start();
   }
   public void actionPerformed(ActionEvent evt)
   {
     Object quelle = evt.getSource();

   }

   public void beenden() {
     System.exit(0);
   }
}

Fenster-Programm:
Code:
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.io.*;

class Abfrage extends JFrame implements ActionListener {
   private JButton bestaetigenButton, exitButton;
   private JTextField user, pw;
   private String usert, pwt;
   private JPanel einPanel;
   private Abfrage ab;

   public Abfrage() {
     setTitle("Login-Daten");
     setSize(300, 200); // Größe des Rahmens in Pixel
     setDefaultCloseOperation(EXIT_ON_CLOSE); // Schließt den Rahmen

     new Font("MS Sans Serif", Font.PLAIN, 12);

     einPanel = new JPanel();  // Erzeugung der "Leinwand" für die Komponenten
     einPanel.setLayout(null); // Keinen Layoutmanager verwenden
     einPanel.setBackground(Color.GRAY);

     user = new JTextField("", 10);
     user.setDocument(new NegativeDoubleDocument());
     user.setEditable(true);
     user.setText("");
     user.setToolTipText("Hier ist ihr aktueller user!");
     user.setBounds(49, 50, 100, 30);
     
     pw = new JTextField("", 10);
     pw.setDocument(new NegativeDoubleDocument());
     pw.setEditable(true);
     pw.setText("");
     pw.setToolTipText("Hier ist ihr aktueller user!");
     pw.setBounds(151, 50, 100, 30);

     bestaetigenButton = new JButton("OK");  // Erzeugung des Buttons
     bestaetigenButton.setBounds(49, 100, 100, 30);
     bestaetigenButton.setToolTipText("Klicke hier zum Berechnen!");
     bestaetigenButton.addActionListener(this);

     exitButton = new JButton("Abbrechen");  // Erzeugung des Buttons
     exitButton.setBounds(151, 100, 100, 30);
     exitButton.setToolTipText("Klicke hier zum Beenden!");
     exitButton.addActionListener(this);

     einPanel.add(user);
     einPanel.add(pw);
     einPanel.add(bestaetigenButton);           // den Button auf die "Leinwand" packen
     einPanel.add(exitButton);           // den Button auf die "Leinwand" packen

     // ganz zum Schluss!!
     add(einPanel);
     setVisible(true); // Zum Schluss das ganze sichtbar machen
     setResizable(false);
   }
   public void beenden() {
     ab.removeNotify();
   }
   public String getUser() {
     return user.getText();
   }
   public String getPw() {
     return pw.getText();
   }
   public void actionPerformed(ActionEvent evt)
   {
     Object quelle = evt.getSource();
     if (quelle == bestaetigenButton)
     {
       System.out.println(user.getText());
     }
     if (quelle == exitButton)
     {
       System.exit(0);
     }
   }
   public static void main(String args[])
   {
     Abfrage ab = new Abfrage();
   }
}
 

Joker

Bekanntes Mitglied
indem du get und setMethoden für sie anlegst und darüber aus deiner anderen Klasse drauf zugreifst.

Die get Methoden hast du ja schon teilweise drin stehen. Da fehlt dann nur noch ein:

Code:
String user = ab.getUser();

edit: Dein actionPerformed wird so auch nicht funktionieren (Objekte vergleicht man nicht mit == sondern mit equals), sollte ungefähr so aussehen:

Code:
public void actionPerformed(ActionEvent evt) {
		   if(evt.getSource() instanceof JButton) {
			   JButton button= (JButton) evt.getSource();
			   if(button.equals(bestaetigenButton)) {
				   System.out.println(user.getText()); 
			   } else if(button.equals(exitButton)) {
				   System.exit(0);
			   }
		   }
	   }
 

H3llGhost

Bekanntes Mitglied
Danke für den Tipp mit den Get und Set, die habe ich nun umgesetzt.

Wegen den Buttons und dem ActionListener werde ich so an meinen Lehrer weitergeben ... ;-)

Ich hatte mir gedacht, es vielleicht so zu verbinden:
Code:
[...]
     if (quelle == bestaetigenButton)
     {
       System.out.println(user.getText());
       SpardoseGUI2.exit1();
     }
[...]

und

Code:
[...]
   public void exit1() {
     System.out.println(ab.getUser());
     ab.removeNotify();
   }
[...]

aber das funktioniert nicht! :-(

Weil wenn ich mit OK bestätige soll er im Hauptprogramm weiter machen und dann das "Hauptfenster" öffnen.
Also auf gut Deutsch es soll ein Loginformular geben und ein Hauptaktionsfenster.
 
C

ck2003

Gast
Joker hat gesagt.:
edit: Dein actionPerformed wird so auch nicht funktionieren (Objekte vergleicht man nicht mit == sondern mit equals), sollte ungefähr so aussehen:

Code:
public void actionPerformed(ActionEvent evt) {
		   if(evt.getSource() instanceof JButton) {
			   JButton button= (JButton) evt.getSource();
			   if(button.equals(bestaetigenButton)) {
				   System.out.println(user.getText()); 
			   } else if(button.equals(exitButton)) {
				   System.exit(0);
			   }
		   }
	   }

Kann man so nicht sagen. In dem Fall wirds es funktionieren. == testet ob es sich dieselben Objekte handelt, was in dem Fall so ist. equals() macht in seiner Standardimplementierung nichts anderes; trotzdem ist equals natürlich vorzuziehen.
 

Joker

Bekanntes Mitglied
er versucht allerdings ein Object mit einem JButton zu vergleichen und das wird so nie funktionieren, == vs equals war ja eine Zusatzinfo deshalb auch die Klammern ;)

@H3llGhost: mit deinem actionPerformed wird er nie in die If Verzweigung gelangen und deshalb beim Knopfdruck einfach überhaupt nichts tun. Dazu kommt das removeNotify eine AWT Methode ist, was du suchst ist setVisible (siehe http://72.5.124.55/j2se/1.4.2/docs/api/java/awt/Component.html#setVisible(boolean) )
 
C

ck2003

Gast
Joker hat gesagt.:
er versucht allerdings ein Object mit einem JButton zu vergleichen und das wird so nie funktionieren, == vs equals war ja eine Zusatzinfo deshalb auch die Klammern ;)

@H3llGhost: mit deinem actionPerformed wird er nie in die If Verzweigung gelangen und deshalb beim Knopfdruck einfach überhaupt nichts tun.

Code:
public void actionPerformed(ActionEvent evt)
   {
     Object quelle = evt.getSource();
     if (quelle == bestaetigenButton)
     {
       System.out.println(user.getText());
     }
     if (quelle == exitButton)
     {
       System.exit(0);
     }
   }

Ich muss nochmal drauf eingehen, auch wenn wir uns eigentlich einig sind dass man equals benutzt; das stimmt so einfach nicht, dass er nicht in die If-Verzweigung gelangt. Es funktioniert hier auch so. Auch wenn er das in Object quelle speichert, ist evt.getSource() ein JButton, daher auch quelle ein JButton und zwar genau der gleiche wie entweder bestaetigenButton) oder exitButton.
 

H3llGhost

Bekanntes Mitglied
Joker hat gesagt.:
[...]
@H3llGhost: mit deinem actionPerformed wird er nie in die If Verzweigung gelangen und deshalb beim Knopfdruck einfach überhaupt nichts tun. Dazu kommt das removeNotify eine AWT Methode ist, was du suchst ist setVisible (siehe http://72.5.124.55/j2se/1.4.2/docs/api/java/awt/Component.html#setVisible(boolean) )

Heißt das auf gut Deutsch ich lasse am Anfang erstmal alle Fenster erstellen und dann setze ich die nach und nach auf sichtbar bzw. nicht sichtbar?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Java Hauptprogramm und Unterprogramm Java Basics - Anfänger-Themen 25
Z Zum Hauptprogramm zurückspringen Java Basics - Anfänger-Themen 2
B eigene Klasse wird nicht im Hauptprogramm erkannt! Java Basics - Anfänger-Themen 4
S class/Hauptprogramm Problem Java Basics - Anfänger-Themen 6
E Threads - Ausgabe im Hauptprogramm? Java Basics - Anfänger-Themen 10
G Hauptprogramm stoppen Java Basics - Anfänger-Themen 6
D Log4J bei mehreren Modulen Java Basics - Anfänger-Themen 8
U Funktionale Interfaces mit mehreren abstrakten Methoden? Java Basics - Anfänger-Themen 8
C Problem mit mehreren Methoden + Scanner Java Basics - Anfänger-Themen 5
Poppigescorn String mit mehreren Wörtern füllen? Java Basics - Anfänger-Themen 4
CptK Interface Functional interface mit mehreren Methoden Java Basics - Anfänger-Themen 6
P Objekt in mehreren Methoden verwenden. Java Basics - Anfänger-Themen 3
B Threads Problem mit mehreren Threads Java Basics - Anfänger-Themen 38
freudianslip if-Statement mit mehreren Zahlenwerten Java Basics - Anfänger-Themen 4
B Zeitgleiches Arbeiten am Code mit mehreren Personen? Java Basics - Anfänger-Themen 7
M Arrays mit mehreren Werten über JOptionPane initialisieren Java Basics - Anfänger-Themen 12
S Und-Abfrage mit mehreren Ungleich-Operatoren Java Basics - Anfänger-Themen 17
D Aufruf von mehreren Activities bringt die app zum Absturz Java Basics - Anfänger-Themen 5
G String mit mehreren Attributen aufteilen Java Basics - Anfänger-Themen 6
B Funktion mit mehreren Rückgabewerten aka Prozeduren? Java Basics - Anfänger-Themen 12
L Wie geht man bei mehreren Action Klassen vor? Java Basics - Anfänger-Themen 0
O compareTo nach mehreren Kriterien Java Basics - Anfänger-Themen 13
B Java Mail: suchen von mehreren Emailadressen Java Basics - Anfänger-Themen 5
R Antwort vom Server an mehreren Clients senden Java Basics - Anfänger-Themen 3
G Refactoring von mehreren identischen Klassen Java Basics - Anfänger-Themen 36
K Geburtsdaten von Mehreren Personen speichern und Alter ausgeben Java Basics - Anfänger-Themen 11
T Interface Methode im Interface mit mehreren Parametern Java Basics - Anfänger-Themen 10
F Problem beim entfernen von mehreren Listenelementen auf einmal (Programmierung des Spiels Arschloch) Java Basics - Anfänger-Themen 1
S boolean Wert von mehreren int Möglichkeiten abfragen ? Java Basics - Anfänger-Themen 4
E if-Bedingung mit mehreren Möglichkeiten ? Java Basics - Anfänger-Themen 6
B MVC Struktur mit mehreren Szenen - wer schaut mal bitte drüber? Java Basics - Anfänger-Themen 2
A String mit mehreren Zeilen splitten Java Basics - Anfänger-Themen 4
U Schleife mit mehreren Bedingungen ? Java Basics - Anfänger-Themen 29
C OOP Von mehreren Klassen aus auf das selbe Objekt zugreifen Java Basics - Anfänger-Themen 8
M Erste Schritte Speichern von mehreren Daten Java Basics - Anfänger-Themen 3
B Variable in mehreren Klassen nutzen Java Basics - Anfänger-Themen 4
D Eine MySQL Verbindung in mehreren Klassen Java Basics - Anfänger-Themen 8
F Interface Nach mehreren Kriterien sortieren Java Basics - Anfänger-Themen 2
S OOP Variablen zwischen mehreren Klassen Java Basics - Anfänger-Themen 11
F Http Post von mehreren Daten Java Basics - Anfänger-Themen 5
Dechasa Interface JFrame mit mehreren Übereinander liegenden JPanel Java Basics - Anfänger-Themen 5
R Eine Datei mit mehreren Zeilen beschreiben Java Basics - Anfänger-Themen 5
S PHP Aufruf mit mehreren Variablen Java Basics - Anfänger-Themen 2
H Klassen Auf eine Hashtable aus mehreren Klassen zugreifen Java Basics - Anfänger-Themen 12
N Aufgabe: Pizza Konstruktor mit mehreren beliebigen Durchmesser/Preiskombinationen Java Basics - Anfänger-Themen 8
R Objekt erstellen - Attribute mit mehreren Werten Java Basics - Anfänger-Themen 1
F Selben Code in mehreren Projekten Java Basics - Anfänger-Themen 1
I Listen sortieren bei mehreren Listen zu einer Java Basics - Anfänger-Themen 2
M JUnit Testmethoden mit mehreren assert Methoden Java Basics - Anfänger-Themen 1
G Klassen Problem mit mehreren Klassen Java Basics - Anfänger-Themen 2
kaoZ Input/Output Android : Deserialisieren von mehreren Objekten in einer Datei Java Basics - Anfänger-Themen 0
J Menü mit mehreren Bildern Java Basics - Anfänger-Themen 5
kaoZ Input/Output Einlesen von mehreren Zeilen Java Basics - Anfänger-Themen 4
T Variablen Zufallsgenerator mit mehreren Variablen Java Basics - Anfänger-Themen 3
Devil0s Entwicklung mit mehreren Leuten Java Basics - Anfänger-Themen 7
3 JLabel - Text in mehreren Zeilen zentrieren Java Basics - Anfänger-Themen 5
R Compiler-Fehler Auf selben Array in mehreren "cases" vom "Switch" zugreifen Java Basics - Anfänger-Themen 11
K Vererbung Methoden in klassen auslagern und in mehreren Klassen verfügbar machen Java Basics - Anfänger-Themen 8
D Eine Variable in mehreren "switch" Java Basics - Anfänger-Themen 24
P Liste in einer Klasse füllen und mehreren anderen Klassen lesend verwenden Java Basics - Anfänger-Themen 5
propra Objekte in mehreren Listen Java Basics - Anfänger-Themen 6
T GUI Prog. mit mehreren Klassen Java Basics - Anfänger-Themen 4
K Erste Schritte Eingabetext besteht aus mehreren Zeilen? Java Basics - Anfänger-Themen 3
D javac zum Kompilieren von mehreren Dateien Java Basics - Anfänger-Themen 6
P Auslesen von mehreren XML Dateien - Fehler Java Basics - Anfänger-Themen 11
M Java Berechnung mit mehreren Lösungen? Java Basics - Anfänger-Themen 9
T List mit mehreren gleichen Strings bereinigen Java Basics - Anfänger-Themen 4
firefexx Input/Output close() bei mehreren Streams Java Basics - Anfänger-Themen 5
L Server mit mehreren Clients Java Basics - Anfänger-Themen 25
C Methoden Methoden mit mehreren Rückgabewerten Java Basics - Anfänger-Themen 11
D OOP Objekt in mehreren Objekten Java Basics - Anfänger-Themen 3
T Hashmap mit mehreren Werten Java Basics - Anfänger-Themen 9
M Backslash aus mehreren einen machen? Java Basics - Anfänger-Themen 7
M Frame mit mehreren areas Java Basics - Anfänger-Themen 14
P Wie mehreren Threads Aufgaben zuweisen und abarbeiten lassen? Java Basics - Anfänger-Themen 15
Dit_ Aktualisieren von mehreren Views Java Basics - Anfänger-Themen 2
S Datentypen In mehreren Dateien Strings ersetzen Java Basics - Anfänger-Themen 14
B Swing Applikation mit mehreren Klassen Java Basics - Anfänger-Themen 2
J Matheaufgabe aus String mit mehreren Operatoren Java Basics - Anfänger-Themen 16
Q If-Abfrage mit mehreren Bedingungen Java Basics - Anfänger-Themen 6
D Datentypen Aufzählunsdatentyp in mehreren Klassen verwenden? Java Basics - Anfänger-Themen 10
U Umsetzungsfrage: Personen mit mehreren "Rollen" Java Basics - Anfänger-Themen 9
D Datentypen Liste mit Objekten aus mehreren Klassen Java Basics - Anfänger-Themen 3
P Doppelte Einträge in mehreren Textfiles finden und ausgeben Java Basics - Anfänger-Themen 8
M String mit mehreren Zahlen in Integer-Array Java Basics - Anfänger-Themen 2
S Infos aus mehreren JVMS verbinden Java Basics - Anfänger-Themen 3
ModellbahnerTT Klassen in mehreren Projekten benutzten Java Basics - Anfänger-Themen 3
J Performance Vergleich von if-Abfragen mit mehreren Bedingungen Java Basics - Anfänger-Themen 9
B Identifikation eines einzelnen Buttons aus mehreren Buttons per Schleife erzeugten Java Basics - Anfänger-Themen 4
M property mit mehreren werten Java Basics - Anfänger-Themen 3
H Vergleichen mit mehreren Textdateien Java Basics - Anfänger-Themen 2
X Konfiguration einer Anwendung aus mehreren Dateien Java Basics - Anfänger-Themen 11
K Rekusion bei Bäumen mit mehreren Blättern Java Basics - Anfänger-Themen 7
G Sortieren von mehreren klassen Java Basics - Anfänger-Themen 7
-horn- EINE setter/getter klasse aus mehreren klassen befüllen Java Basics - Anfänger-Themen 13
G art hashmap mit mehreren werten pro key Java Basics - Anfänger-Themen 2
L Zeit stoppen in mehreren Threads Java Basics - Anfänger-Themen 2
C Programm mit mehreren Dateien Java Basics - Anfänger-Themen 2
G [Threads]: Mit mehreren Threads 1 ArrayList durchlaufen Java Basics - Anfänger-Themen 19
V Screenshot von mehreren Monitoren machen Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben