Swing Darstellungsproblem

KPKMP

Mitglied
Hallo,
ich erzeuge ein Frame, allerdings ist mir nicht klar warum es manchmal richtig kommt und manchmal nur Teile oder ein Button alles ausfüllt.

Java:
package Listener;

import java.awt.event.*;

import javax.swing.*;

public class Test3 extends JFrame{
    
    
    private JFrame frMorseKey;
    private JTextField tf;
    
    private JButton jbUebertrag;
    private JButton jbNeu;

    
    private String Ausgabetext; 
    private String returnString;
    private String retStr;
    
    public Test3() {
       
        frMorseKey = new JFrame();
        frMorseKey.setSize(350, 150);
        frMorseKey.setVisible(true);
        frMorseKey.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frMorseKey.setLocationRelativeTo(null);
        
        
        //Textfeld
        tf = new JTextField();
        tf.setEditable(false);
        tf.setBounds(10, 10, 210, 25);
        frMorseKey.getContentPane().add(tf);
        tf.setFocusable(true);
        
        //Button
        jbUebertrag = new JButton("Übertrag");
        jbUebertrag.setBounds(10, 50, 100, 25);
        frMorseKey.getContentPane().add(jbUebertrag);
        
        
        jbNeu = new JButton("Neu");
        jbNeu.setBounds(120, 50, 100, 25);
        frMorseKey.getContentPane().add(jbNeu);
        
    }

}
 

rme

Top Contributor
Hallo,

setVisible sollte der letzte Aufruf in dem Konstruktor sein, ansonsten musst du den Konstruktor aus dem Swing-Thread heraus aufrufen.
 

KPKMP

Mitglied
Versteh ich gerade nciht ganz.
Ich rufe es aus einer anderen Klasse über
Java:
Test3 keyTest = new Test3();
auf.
 

rme

Top Contributor
In Zeile 25 rufst du setVisible(true) auf. Der Aufruf darf erst ganz am Ende passieren, also vor der schließenden geschweiften Klammer des Konstruktors. Ansonsten musst du SwingUtilities.invokeLater verwenden usw., was ein bisschen umständlich für diesen Fall wäre.
 

rme

Top Contributor
Hm. Verwendest du noch ein weiteres, sichtbares Swing-Fenster, sodass dieses nicht das erste ist, das erzeugt wird?
 

KPKMP

Mitglied
nein, ich rufe aus test1
Java:
public class Test1 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Test4 keyTest = new Test4();
        keyTest.getRetString();
        System.out.println("t "+ keyTest.getRetString());
        
        
    }

}
die klasse test3 auf
Java:
package Listener;

import javax.swing.*;

public class Test3 extends JFrame{
    
    
    private JFrame frMorseKey;
    private JTextField tf;
    
    private JButton jbUebertrag;
    private JButton jbNeu;

    
    private String Ausgabetext; 
    private String returnString;
    private String retStr;
    
    public Test3() {
       
        frMorseKey = new JFrame();
        frMorseKey.setSize(350, 150);        
        frMorseKey.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frMorseKey.setLocationRelativeTo(null);
        
        
        //Textfeld
        tf = new JTextField();
        tf.setEditable(false);
        tf.setBounds(10, 10, 210, 25);
        frMorseKey.getContentPane().add(tf);
        tf.setFocusable(true);
        
        //Button
        jbUebertrag = new JButton("Übertrag");
        jbUebertrag.setBounds(10, 50, 100, 25);
        frMorseKey.getContentPane().add(jbUebertrag);
        
        
        jbNeu = new JButton("Neu");
        jbNeu.setBounds(120, 50, 100, 25);
        frMorseKey.getContentPane().add(jbNeu);
        
        frMorseKey.setVisible(true);
    }
    
}
 
Zuletzt bearbeitet:

rme

Top Contributor
Hm, da wird aber Test4 aufgerufen? Tippfehler oder lag's daran? Ich sehe nämlich irgendwie keinen anderen Fehler.
 

KPKMP

Mitglied
upps falsch kopiert. ist test3.

Java:
    public class Test1 {
     
        /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Test3 keyTest = new Test3();
            
        }
     
    }
 
Zuletzt bearbeitet:

knilch

Bekanntes Mitglied
Hi,
Wie rme schon erwähnt hat:
Hm. Verwendest du noch ein weiteres, sichtbares Swing-Fenster, sodass dieses nicht das erste ist, das erzeugt wird?
Du erweiterst die Klasse Test3 von JFrame... das heisst, Test3() IST EIN JFrame. In dieser Klasse Test3, die schon ein JFrame ist, erstellst du mit frMorseKey nochmals eine neue JFrame- Instanz. Du hast somit ein JFrame (Klasse Test3()) mit einem weiteren JFrame (Instanz frMorseKey). War das so geplant?
Eine neue JFrame Instanz in einer bestehenden zu erzeugen macht nur Sinn, wenn ein neues Fenster erzeugt werden soll. z.B. ein Button der ein neues JFrame erzeugt, in dem andere Elemente dargestellt werden.
Das ganze könnte vielleicht so aussehen:
Java:
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;


public class Test3 extends JFrame{
	private JTextField tf;
	private JButton jbUebertrag;
	private JButton jbNeu;

	private String Ausgabetext;
	private String returnString;
	private String retStr;

	public Test3() {
        this.setSize(350, 150);        
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setLocationRelativeTo(null);
        
        this.setLayout(new BoxLayout(this.getContentPane(), BoxLayout.X_AXIS));
       
        //Textfeld
        tf = new JTextField();

        tf.setBounds(10, 10, 210, 25);
        this.getContentPane().add(tf);
        tf.setFocusable(true);
       
        //Button
        jbUebertrag = new JButton("Übertrag");
        jbUebertrag.setBounds(10, 50, 100, 25);
        this.getContentPane().add(jbUebertrag);
       
       
        jbNeu = new JButton("Neu");
        jbNeu.setBounds(12, 50, 100, 25);
        this.getContentPane().add(jbNeu);
       
        this.setVisible(true);
        }


	public static void main(String[] args) {
		Test3 keyTest = new Test3();
	}
}
Zum Andren. Der Button jbNeu überdeckt in deinem Programm die beiden anderen Elemente jbUebertrag und tf deshalb siehst du diese nur kurz am Anfang. Danach verschwinden sie... Du solltest diese Elemente mit einem Layout ordnen. (z.B. BoxLayout .. oder siehe Link für die Gestaltung: How to Use BoxLayout (The Java™ Tutorials > Creating a GUI With JFC/Swing > Laying Out Components Within a Container))
 
Zuletzt bearbeitet:

rme

Top Contributor
Freie Platzierung ist gegen die Philosophie von Swing. Das geht nur mit Tricks, die dann zu solchen Problemen führen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J SWING UI Designer und zeichnen Java Basics - Anfänger-Themen 4
G Maven Swing: Wie verwende ich WindowListener ? Java Basics - Anfänger-Themen 2
C Threads und Swing Java Basics - Anfänger-Themen 9
A Swing: Raumshiff Java Basics - Anfänger-Themen 3
U Warum kriege ich hier eine nullpointer exception, sehe den Fehler nicht (swing) Java Basics - Anfänger-Themen 1
nbergmann Wo ist javax.swing.JOptionPane gespeichert? Java Basics - Anfänger-Themen 4
StevenGG Java swing "New Integer" Java Basics - Anfänger-Themen 5
T Java Swing - Dreieck zeichnen mit verschiedenen Variablen Java Basics - Anfänger-Themen 8
O ImageIcon, Swing Java Basics - Anfänger-Themen 1
O Swing JPanel Java Basics - Anfänger-Themen 4
F Swing - Fehler - Paint Methode Java Basics - Anfänger-Themen 7
M Input/Output Java Swing: Prüft ob Text aus JTextField ausschließlich Integer enthält Java Basics - Anfänger-Themen 15
mobaer Swing Timer stoppen Java Basics - Anfänger-Themen 3
M Wie kann ich hier ein Textfeld hinzufügen Java Swing? Java Basics - Anfänger-Themen 1
M SpielMenü mit Swing Java Basics - Anfänger-Themen 3
M Wie kann ich eine Eingabe im Java-Swing übergeben? Java Basics - Anfänger-Themen 1
N javax swing JOptionPane Hilfe Java Basics - Anfänger-Themen 3
H Swing Button hat falsche Größe Java Basics - Anfänger-Themen 5
C Der Swing Layout-Manager hasst mich Java Basics - Anfänger-Themen 4
M Java swing im Browser starten Java Basics - Anfänger-Themen 0
M JavaFX in Swing-Applikationen einbetten Java Basics - Anfänger-Themen 5
Z Threads SWING mit EventQueue.invokeLater Java Basics - Anfänger-Themen 1
P JDK installieren javac behauptet Javax.swing existiert nicht Java Basics - Anfänger-Themen 8
K Ascii Converter mit Swing Java Basics - Anfänger-Themen 4
b1ck Interface Verständnisfrage zum GUI mit "swing" Java Basics - Anfänger-Themen 1
N Erste Schritte Karte in SWING Application Java Basics - Anfänger-Themen 4
D Mehrfacherfassung in Swing GUI Java Basics - Anfänger-Themen 12
D Datum aus Swing in MySQL DB speichern Java Basics - Anfänger-Themen 22
R warum kann System.out.println(..) etwas, was Swing-Elemente Nicht können ? Java Basics - Anfänger-Themen 11
J Input/Output Charset Swing- Eingaben? Java Basics - Anfänger-Themen 8
S JUnit - Swing- Anwendung wird nicht neu gestartet Java Basics - Anfänger-Themen 0
Q Threads Threads in Swing Anwendungen Java Basics - Anfänger-Themen 5
B Swing intstalliert Eclips{}, mackiert Rot Java Basics - Anfänger-Themen 6
U Java Swing Timer mit ButtonKlick starten u. nach 12 Sekunden Befehl ausführen Java Basics - Anfänger-Themen 7
S Input/Output In Java Swing auf Button warten? Java Basics - Anfänger-Themen 9
N Problem mit Swing Textfeld und Zugriff aus anderer Klasse Java Basics - Anfänger-Themen 6
G Performance - höhere Anzahl Swing Elemente Java Basics - Anfänger-Themen 5
B Java Swing "Zeichenfläche" Java Basics - Anfänger-Themen 1
O Alternative zum swing-Timer Java Basics - Anfänger-Themen 5
F Swing Applet: mehrere Komponenten hinzufügen Java Basics - Anfänger-Themen 1
F Platzieren von Komponenten in Swing Applet funktioniert nicht Java Basics - Anfänger-Themen 3
P Hintergrundbild in Swing einfügen Java Basics - Anfänger-Themen 3
C Swing frage Java Basics - Anfänger-Themen 8
T Rechenprogramm mit Swing Java Basics - Anfänger-Themen 3
G Verständnisproblem mit swing Java Basics - Anfänger-Themen 6
P Swing - Blackscreen Java Basics - Anfänger-Themen 10
Y Random-Objekt und Swing Java Basics - Anfänger-Themen 4
M Klassen Hilfe bei SWING Java Basics - Anfänger-Themen 5
S GUI Problem: Swing Java Basics - Anfänger-Themen 8
M Javax.swing - Timer(2 Button) Java Basics - Anfänger-Themen 17
J Timer - Swing Java Basics - Anfänger-Themen 5
B Erste Schritte Primefaces -> Swing Gui Java Basics - Anfänger-Themen 7
T Swing, SWT oder JavaFX Java Basics - Anfänger-Themen 8
S Programmoberfläche mit Java-Swing - Herangehensweise Java Basics - Anfänger-Themen 20
E Fragen zu paintXXX in Swing Java Basics - Anfänger-Themen 7
D Erste Schritte bash-Befehl mit Swing ausführen Java Basics - Anfänger-Themen 8
A Alternative zum manuellen Swing programmieren?? Java Basics - Anfänger-Themen 4
S Android fuer Swing-Kenner..? Java Basics - Anfänger-Themen 6
J Swing Timer Java Basics - Anfänger-Themen 3
B Seltsamer Fehler in SWING anwendung Java Basics - Anfänger-Themen 2
D GPS Tracker Swing Java Basics - Anfänger-Themen 2
L Erste Schritte Swing oder SWT Paint mit Grafikkarte? Java Basics - Anfänger-Themen 7
B Einstieg in swing GUI Java Basics - Anfänger-Themen 7
S Swing Eingabe Erzwingen Java Basics - Anfänger-Themen 3
S Swing JTable Java Basics - Anfänger-Themen 7
Z Input/Output Programm mit Swing umsetzen Java Basics - Anfänger-Themen 6
K Eclipse wie Swing per Drag und Drop erstellen Java Basics - Anfänger-Themen 2
V Dropdown Button in einer GUI (Java Swing) Java Basics - Anfänger-Themen 12
S Swing, Gridbaglayout Panel in Panel;funzt nicht!! Java Basics - Anfänger-Themen 3
O swing komponenten werden nicht angezeigt Java Basics - Anfänger-Themen 6
S Swing, Panel über Hintergrundbild!! Java Basics - Anfänger-Themen 6
P Im Fenster bleiben (swing) Java Basics - Anfänger-Themen 16
M Einfacher Swing Wizard Java Basics - Anfänger-Themen 3
E Swing FileWrite?? Java Basics - Anfänger-Themen 3
S Umlaute in Swing-GUI Java Basics - Anfänger-Themen 8
K Drop-down Menü (swing) Java Basics - Anfänger-Themen 4
M Timer-Thread in Swing öffnet jedes Mal ein neues Fenster Java Basics - Anfänger-Themen 6
M Swing Klasse auch per Kommandozeile starten? Java Basics - Anfänger-Themen 2
S JAVA Swing Eventlistener Java Basics - Anfänger-Themen 11
P Swing - Welche Klasse für ausgeben von Ergebnissen? Java Basics - Anfänger-Themen 3
V Swing Componenten werden auf Mac nicht angezeigt Java Basics - Anfänger-Themen 19
J Überfordert mit Swing Java Basics - Anfänger-Themen 5
B Baum > Baum-Swing Java Basics - Anfänger-Themen 4
B Bei Swing weg vom North-West-South-East-Prinzip Java Basics - Anfänger-Themen 2
K Swing Fenster jede sec.neuzeichnen Java Basics - Anfänger-Themen 14
F Werteübergabe in Swing Formularen (gui Builder) Java Basics - Anfänger-Themen 9
L Swing GridBagLayout Java Basics - Anfänger-Themen 3
K Bild als Hintergrund in einem Swing Fenster Java Basics - Anfänger-Themen 21
J unterschied zwischen awt und swing Java Basics - Anfänger-Themen 6
C Swing i.V.m. Threads Java Basics - Anfänger-Themen 2
J XML Viewer for Swing Java Basics - Anfänger-Themen 6
Y Anfänger Hausaufgabe... Swing Java Basics - Anfänger-Themen 6
W Zeichnen in Swing Java Basics - Anfänger-Themen 7
B Swing Applikation mit mehreren Klassen Java Basics - Anfänger-Themen 2
C Swing, Buttons Wert zuweisen Java Basics - Anfänger-Themen 3
Luk10 Swing timer und Threads Java Basics - Anfänger-Themen 4
J Java GUI in Swing und das MVC Paradigma Java Basics - Anfänger-Themen 3
M Swing Java Basics - Anfänger-Themen 7
B Verständnisproblem zu Swing und Methoden Java Basics - Anfänger-Themen 8
Luk10 Buch für Swing/Awt/Graphics Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben