Per Klick Klasse ausführen

FUT320

Mitglied
Hallo,

vorab, ich bin Anfänger!

Klasse 1 beinhaltet den Button "btnDatum". Dieser soll die Klasse 2 "Nummernblock" ausführen aber wie bekomme ich das hin? Ich habe schon mehreres versucht, jedoch immer ohne Erfolg.

Klasse 1: Startseite

Java:
public class Startseite {

    public static void main(String[] args) {
       
                       
            JFrame frmStartseite = new JFrame ("Startseite");
            frmStartseite.setSize(1920,1080);
            frmStartseite.setVisible(true);
           
            JPanel pnlStartseite = new JPanel();   
            frmStartseite.add(pnlStartseite);
            pnlStartseite.setBackground(Color.WHITE);
            pnlStartseite.setLayout(null);
            pnlStartseite.setVisible (true);
           
            JTextField txtUeberschrift = new JTextField("Erfassung der Sichtungergebnisse",30);
            pnlStartseite.add(txtUeberschrift);
            txtUeberschrift.setBorder(BorderFactory.createEmptyBorder());
            txtUeberschrift.setBackground(Color.WHITE);
            txtUeberschrift.setEditable(false);
            txtUeberschrift.setBounds(10,10,460,100);   
            txtUeberschrift.setFont(new Font("headline",20,30));
            txtUeberschrift.setVisible(true);
                   
            JButton btnEingabe = new JButton("Eingabemaske öffnen");
            pnlStartseite.add(btnEingabe);
            btnEingabe.setBounds(50,150,200,50);
            btnEingabe.setVisible(true);
           
            btnEingabe.addActionListener(new ActionListener(){
             public void actionPerformed(ActionEvent evt) {
                btnEingabe_ActionPerformed(evt);
            }
            
                public void btnEingabe_ActionPerformed(ActionEvent evt) {
                   
                    JPanel pnlEingabe = new JPanel();
                    pnlEingabe.setBackground(Color.WHITE);
                    pnlEingabe.setLayout(null);
                   
                    JDialog dlgEingabe = new JDialog();
                    dlgEingabe.setTitle("Erfassung");
                    dlgEingabe.add(pnlEingabe);
                    dlgEingabe.setSize(800,800);
                    dlgEingabe.setVisible(true);
                   
                    JTextField txtUeberschriftEingabe = new JTextField("Sichtungsergebnisse",20);
                    pnlEingabe.add(txtUeberschriftEingabe);
                    txtUeberschriftEingabe.setBorder(BorderFactory.createEmptyBorder());
                    txtUeberschriftEingabe.setBackground(Color.WHITE);
                    txtUeberschriftEingabe.setEditable(false);
                    txtUeberschriftEingabe.setBounds(10,10,460,80);   
                    txtUeberschriftEingabe.setFont(new Font("headline",20,30));
                    txtUeberschriftEingabe.setVisible(true);
                   
                    Date zeit = new Date();
                    SimpleDateFormat aktuell = new SimpleDateFormat("dd.MM.yyyy");
                    JFormattedTextField txtDatum = new JFormattedTextField();
                    txtDatum.setText(aktuell.format(zeit));
                    pnlEingabe.add(txtDatum);
                    txtDatum.setBounds(160,90,80,30);
                    txtDatum.setVisible(true);
                   
                    JTextField beschriftungDatum = new JTextField("Erfassungsdatum");
                    pnlEingabe.add(beschriftungDatum);
                    beschriftungDatum.setEditable(false);
                    beschriftungDatum.setBackground(Color.WHITE);
                    beschriftungDatum.setBorder(BorderFactory.createEmptyBorder());
                    beschriftungDatum.setFont(new Font("Titel",10,15));
                    beschriftungDatum.setBounds(20,90,120,30);
                    beschriftungDatum.setVisible(true);
                   
                    JButton btnDatum = new JButton("Datum");
                    pnlEingabe.add(btnDatum);
                    btnDatum.setBounds(260,90,80,30);
                    btnDatum.setVisible(true);
                   
                    btnDatum.addActionListener(new Nummernblock());

Klasse 2: Nummernblock

Java:
public class Nummernblock implements ActionListener{
   
   
    public void actionPerformed(ActionEvent a) {
    JPanel pnlNummer = new JPanel();
    pnlNummer.setBackground(Color.WHITE);
    pnlNummer.setLayout(null);
   
    JDialog dlgNummer = new JDialog();
    pnlNummer.add(dlgNummer);
    dlgNummer.setTitle("Nummernblock");
    dlgNummer.setSize(800,600);
       
    }
}

Ich bin für jeden Tipp dankbar. Solltet ihr zusätzlich noch allgemeine Ratschläge haben, wäre ich euch ebenfalls dankbar.
 

Joose

Top Contributor
Klasse 1 beinhaltet den Button "btnDatum". Dieser soll die Klasse 2 "Nummernblock" ausführen aber wie bekomme ich das hin? Ich habe schon mehreres versucht, jedoch immer ohne Erfolg.

Du musst uns natürlich verraten was nicht funkioniert! Und was hast du schon versucht?
So wie der für mich ausschaut kann man auf den Button klicken, der Code von NummernBlock wird durchgeführt und fertig.
In der Klasse Nummernblock erstellst du zwar ein Panel und ein Dialog aber nirgends sagst du das er diese Sachen anzeigen soll!

PS: Mittels "null"-Layout kannst du zwar alles so positionieren wie du es gern hättest solltest du aber jemals das Fenster vergrößern bleiben alle Sachen so wie sie sind. Versuche dich in LayoutManager einzuarbeiten, damit kann man ebenso einfach schöne UIs realisieren.

In der Klasse Startseite passiert gar nichts, alles was dort steht passiert in der main-Methode, versuche wirklich in die Klasse Startseite zu bekommen.
Du setzt jedes einzelne Control mittels "setVisible(true)" auf sichtbar. Das kannst du dir sparen -> Erzeuge dein JFrame, setze alle Layout und Komponenten auf das JFrame und dann setze das JFrame auf visible. Damit wird alles auf 1x sichtbar.
 

FUT320

Mitglied
Danke für deine Antwort und deine Tipps.
Ich klicke auf den Button und es passiert gar nichts.
Folgender Fehler tritt dann auf:

Java:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: adding a window to a container
   at java.awt.Container.checkNotAWindow(Unknown Source)
   at java.awt.Container.addImpl(Unknown Source)
   at java.awt.Container.add(Unknown Source)
   at Nummernblock.actionPerformed(Nummernblock.java:17)
   at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
   at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
   at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
   at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
   at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
   at java.awt.Component.processMouseEvent(Unknown Source)
   at javax.swing.JComponent.processMouseEvent(Unknown Source)
   at java.awt.Component.processEvent(Unknown Source)
   at java.awt.Container.processEvent(Unknown Source)
   at java.awt.Component.dispatchEventImpl(Unknown Source)
   at java.awt.Container.dispatchEventImpl(Unknown Source)
   at java.awt.Component.dispatchEvent(Unknown Source)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
   at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
   at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
   at java.awt.Container.dispatchEventImpl(Unknown Source)
   at java.awt.Window.dispatchEventImpl(Unknown Source)
   at java.awt.Component.dispatchEvent(Unknown Source)
   at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
   at java.awt.EventQueue.access$500(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
   at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue$4.run(Unknown Source)
   at java.awt.EventQueue$4.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue.dispatchEvent(Unknown Source)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.run(Unknown Source)
Nun weiß ich aber nicht, wie ich den Fehler beseitigen kann.
 
Zuletzt bearbeitet von einem Moderator:

Joose

Top Contributor
Folgender Fehler tritt dann auf:

Das was du gepostet hast nennt man StackTrace und dort steht genau die Zeile deines Code wo der Fehler passiert

Java:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: adding a window to a container
   at java.awt.Container.checkNotAWindow(Unknown Source)
   at java.awt.Container.addImpl(Unknown Source)
   at java.awt.Container.add(Unknown Source)
   at Nummernblock.actionPerformed(Nummernblock.java:17)

Nun weiß ich aber nicht, wie ich den Fehler beseitigen kann.

Wie oben schon gesagt kann man über den StackTrace die Zeile finden, welche den Fehler produziert. Schau dir doch die Zeile in der Klasse Nummernblock genau an. Und dann schau dir die Fehlermeldung "adding a window to a container" genau an.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Auf Button-Klick außerhalb der GUI-Klasse reagieren Java Basics - Anfänger-Themen 10
richis-fragen Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
J Jtable Eingabe nach Klick ausserhalb der Tabelle übernehmen Java Basics - Anfänger-Themen 6
J Spiel mit Button klick starten Java Basics - Anfänger-Themen 9
J Button klick bei eine bestimmten Zahl Java Basics - Anfänger-Themen 8
E JAvaFX: Verschiedene Panels nach Klick auf Node des TreeView anzeigen Java Basics - Anfänger-Themen 0
T Bei Buttonklick Aktion starten, nach erneutem Klick beenden Java Basics - Anfänger-Themen 4
D Durch Button klick wert in JTextField einfügen Java Basics - Anfänger-Themen 5
J Klick auf Button -> JFrame öffnet sich erneut. & Datei lässt sich nicht löschen Java Basics - Anfänger-Themen 7
G jButton bei Klick String +1 Java Basics - Anfänger-Themen 5
thorr Ereignis bei Klick auf Button Java Basics - Anfänger-Themen 3
C Button einfärben bei Klick Java Basics - Anfänger-Themen 5
0 Nach Klick auf minimieren nur ins Tray Java Basics - Anfänger-Themen 3
JAVAnnik Klick auf Bildschirm Java Basics - Anfänger-Themen 11
JAVAnnik variable erhöhen bei Klick auf JLabel Java Basics - Anfänger-Themen 3
D JOptionPane ohne Klick-Aufforderung Java Basics - Anfänger-Themen 9
X Per Klick ein Dialogfenster öffnen Java Basics - Anfänger-Themen 18
J JList Inhalt nach JButton Klick aktualisieren Java Basics - Anfänger-Themen 8
M slide effekt über page legen per klick(href) Java Basics - Anfänger-Themen 5
J Klick auf Icon eines Labels registrieren. Java Basics - Anfänger-Themen 4
T Per Button Klick Fenster schließen?< Java Basics - Anfänger-Themen 7
R .Jpg anzeigen lassen nach klick in JList Java Basics - Anfänger-Themen 11
H2SO3- dreieck, bild --> maus klick event. Wie gehts? Java Basics - Anfänger-Themen 10
B klick auf einen Button zählen Java Basics - Anfänger-Themen 3
S Neuladen der Webseite nach Klick im Applet Java Basics - Anfänger-Themen 2
G JFrame bei Klick auf X WIndow nicht schließen Java Basics - Anfänger-Themen 2
R auf button klick befehl ausführen Java Basics - Anfänger-Themen 11
S jList Multiple Selection mit Klick Java Basics - Anfänger-Themen 2
J Klick der ein Javascript ausfuehrt simulieren? Java Basics - Anfänger-Themen 2
C Bild in JTable verändern (nach einem Klick auf Zelle) Java Basics - Anfänger-Themen 4
1 Checkbox nach klick ausblenden Java Basics - Anfänger-Themen 4
G zelle(n) makieren, button klick, Zelle(n) farbig Java Basics - Anfänger-Themen 4
M JTable - DefaultTableModel - neue Row per Button-Klick Java Basics - Anfänger-Themen 2
M jToggleButton Klick abfangen ohne den Button zu deaktivieren Java Basics - Anfänger-Themen 2
P Button deaktivieren bei Klick auf einen anderen Button? Java Basics - Anfänger-Themen 5
Z klick zähler Java Basics - Anfänger-Themen 2
L Button-Klick Java Basics - Anfänger-Themen 9
T Klick auf Button Java Basics - Anfänger-Themen 7
E Farbänderung des Frames bei Klick . Java Basics - Anfänger-Themen 7
S GUI "Klick-Tabellen", MouseOver Effekte und 2D-Arr Java Basics - Anfänger-Themen 11
G Fenster schließen bei Klick auf Button Java Basics - Anfänger-Themen 4
R NullPointerException beim Klick auf Button Java Basics - Anfänger-Themen 3
M Help! ActionEvent bei Button Klick Java Basics - Anfänger-Themen 9
G Aktionen auslösen, nach Klick auf "Blätter" eines Java Basics - Anfänger-Themen 2
F JDialog per Button-Klick schliessen Java Basics - Anfänger-Themen 2
L Bei Klick auf einen Button reagieren - Wahrer Anfänger! Java Basics - Anfänger-Themen 3
N Nach Button klick zeichnen Java Basics - Anfänger-Themen 6
I @Inject in normaler Klasse? Java Basics - Anfänger-Themen 4
P Enum oder normale Klasse? Java Basics - Anfänger-Themen 10
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
P Wie kann ich meine Keylistener Klasse unterscheiden lassen, von welcher "Quelle" der Input kommt? Java Basics - Anfänger-Themen 2
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
Amina556 Eigene Klasse definieren Java Basics - Anfänger-Themen 9
berserkerdq2 Intelij, wie kann ich einstellen, dass die aktuelle Klasse ausgeführt wird, wenn ich aufs Startsymbol drücke, gibts da eine Tastenkombination? Java Basics - Anfänger-Themen 11
M Klasse in Runden Klammern bei Objektimplementierung Java Basics - Anfänger-Themen 4
J Klassen Klasse als Komponententyp bei Feldern Java Basics - Anfänger-Themen 2
J Klassen Instanzen einer Klasse in einer anderen unabhängigen Klasse nutzen Java Basics - Anfänger-Themen 4
Detlef Bosau nichtstatische Innere Klasse, this Pointer. Java Basics - Anfänger-Themen 47
C Unbekannte Methode add bei Klasse die JTree erweitert Java Basics - Anfänger-Themen 14
Soranix Erste Schritte Struktur als Anfänger // Von einer Klasse auf ein Objekt einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 6
J Zugriff auf eine 2. Klasse die per UI-Designer erstellt wurde Java Basics - Anfänger-Themen 1
B Wie kann ich folgende Klasse/Methode per Button ausführen? Java Basics - Anfänger-Themen 1
B Klasse statisch erstellen da n-mal geladen Java Basics - Anfänger-Themen 3
T Meine Klasse wird nicht gefunden Java Basics - Anfänger-Themen 1
XWing Random Punkte erstellen mit der Random klasse Java Basics - Anfänger-Themen 15
_user_q Wie eine Methode/Funktion aus einer Klasse mit Constructor aufrufen? Java Basics - Anfänger-Themen 20
frager2345 Optional Klasse Java Java Basics - Anfänger-Themen 2
frager2345 Singleton-Muster Java ->Nur eine Instanz einer Klasse erzeugen können Java Basics - Anfänger-Themen 45
H Klassen Typ und Intitialisierungs-Klasse, wer bestimmt was? Java Basics - Anfänger-Themen 1
P Array vom Typ Klasse Java Basics - Anfänger-Themen 18
T Thread beenden aus zweiter Klasse Java Basics - Anfänger-Themen 4
frager2345 Java Klasse Buch verwalten Java Basics - Anfänger-Themen 0
frager2345 Java eigen Klasse zum verwalten von Büchern Java Basics - Anfänger-Themen 3
T Zugriff auf Control anderer Klasse Java Basics - Anfänger-Themen 5
H Compiler-Fehler Klasse in einem Package wird nicht gefunden bzw. akzeptiert Java Basics - Anfänger-Themen 12
B Attribute eines Objekts einer Klasse durch statische Methode einer 2. Klasse ändern? Java Basics - Anfänger-Themen 32
berserkerdq2 Habe eine Klasse, welche public ist, diese hat eine public Methode, die nicht static ist. Wenn ich nun versuche aufzurufen Probleme? Java Basics - Anfänger-Themen 8
berserkerdq2 Zwei Klassen Erben von der Klasse A, die eine Klasse kann ich an Methoden übergeben, die als Parameter A haben, die andere nicht? Java Basics - Anfänger-Themen 3
G zwei Instanzen einer Klasse Java Basics - Anfänger-Themen 29
C Int an andere Klasse übergeben Java Basics - Anfänger-Themen 26
sserio Wie kann man nach einer Klasse fragen? Java Basics - Anfänger-Themen 12
B Klasse "Character" Java Basics - Anfänger-Themen 2
F Suche nach betreuender Person für eine Jahresarbeit der 12. Klasse. Java Basics - Anfänger-Themen 6
H Mit setter-Methode JLabel in einer andern Klasse ändern. Java Basics - Anfänger-Themen 40
U Warum kann ich, auf private Variablen zugreifen, wenn ich ein Objekt in der Klasse, die private Variablen hat erstelle und dort drauf zugreifen will? Java Basics - Anfänger-Themen 7
U Warum kann ich die Methode in der ENUM Klasse nicht aufrufen? Und warum geht die Switch nicht? Java Basics - Anfänger-Themen 8
D Array in Main Methode aus anderer Klasse aufrufen Java Basics - Anfänger-Themen 3
I Array Länge in Klasse festlegen Java Basics - Anfänger-Themen 1
L Klassen Vektor Klasse Java Basics - Anfänger-Themen 2
I Interface von einer EJB Klasse, um Code zu reduzieren Java Basics - Anfänger-Themen 1
M Interface als Parameter einer Klasse Java Basics - Anfänger-Themen 8
M Wie kann ich eine Methode aus einem Interface in eine Klasse implementieren, so dass sie ihre Funktion ausführt? Java Basics - Anfänger-Themen 7
Igig1 Welche Werte sind als default Werte in einem Array, der als Datentyp eine Klasse hat? Java Basics - Anfänger-Themen 1
X Was ist der Unterschied zwischen materialisierten und nichtmaterialisierten Attributen einer Klasse? Java Basics - Anfänger-Themen 1
W Klasse existiert prüfen Java Basics - Anfänger-Themen 5
U Wie ein Attribut von einer Klassenmethode in der Klasse speichern= Java Basics - Anfänger-Themen 2
O Wie erstelle ich eine Instanz in einer Klasse für die ich die Instanz will? Java Basics - Anfänger-Themen 4
W Verschiedene Methoden in einer Klasse in der Main aufrufen? Java Basics - Anfänger-Themen 8
M Eclipse kennt keine String Klasse mehr Java Basics - Anfänger-Themen 1
M Frage zur Methode split der Klasse String Java Basics - Anfänger-Themen 32

Ähnliche Java Themen

Neue Themen


Oben