LayoutManager Wieso verschwinden Elemente?

K

keinereg

Gast
Java:
import java.awt.*;

import javax.swing.*;
import javax.swing.border.Border;
import javax.swing.text.FlowView.FlowStrategy;
public class CodecGUI extends JFrame{
  Würfel würfel1 = new Würfel();
  Würfel würfel2 = new Würfel();
  
  public CodecGUI(){
        //Komponenten aufbauen
       JTextArea klartext = new JTextArea();
       //JTextArea Klartext einstellen
       JTextArea geheimtext = new JTextArea();
       //JTextArea Geheimtext einstellen
       
       
       JTextField codewort1 = new JTextField();
       JTextField codewort2 = new JTextField();
       JButton encode = new JButton();
       encode.setText("Verschlüsseln");
       JButton decode = new JButton();
       decode.setText("Entschlüsseln");
       JLabel klartextlabel = new JLabel("Klartext eingeben:");
       JLabel geheimtextlabel = new JLabel("Geheimtext eingeben:"); 
       JLabel codewort1label = new JLabel ("Erstes Codewort eingeben");
       JLabel codewort2label = new JLabel ("Zweites Codewort eingeben");
            
       //Panel erstellen
       JPanel c = new JPanel();
       c.setLayout(new BorderLayout());
       
       //Setzen der Werte fürs JFrame von CodecGUI
       this.add(c);
       this.setTitle("Doppelwürfelprogramm");
       this.setSize(600,300);
       this.setVisible(true);
       this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       
       //Unterpanel
       JPanel wPanel = new JPanel(new FlowLayout());
       JPanel wPanel2 = new JPanel(new FlowLayout());
       JPanel wPanel3 = new JPanel (new FlowLayout());
       JPanel cPanel = new JPanel(new FlowLayout());
       JPanel ePanel = new JPanel(new FlowLayout());
       JPanel cPanel2 = new JPanel(new FlowLayout());
       JPanel cPanel3 = new JPanel(new FlowLayout());
       
       
       //Panels hinzufügen
       c.add(wPanel,BorderLayout.BEFORE_LINE_BEGINS);
       wPanel.add(wPanel2);
       wPanel.add(wPanel3);
       c.add(cPanel,BorderLayout.CENTER);
       cPanel.add(cPanel2);
       cPanel.add(cPanel3);
       c.add(ePanel,BorderLayout.AFTER_LAST_LINE);
        
       //Hinzufügen der Komponenten       
       wPanel2.add(klartextlabel);
       wPanel2.add(klartext);
       wPanel3.add(geheimtextlabel);
       wPanel3.add(geheimtext); 
       cPanel2.add(codewort1label);
       cPanel2.add(codewort1);
       cPanel3.add(codewort2label);       
       cPanel3.add(codewort2);
       ePanel.add(encode);
       ePanel.add(decode);
       }

}
Ich frage mich gerade warum manche Felder einfach verschwinden und wie ich das lösen kann
 
C

Camino

Gast
Du musst erst alle Komponenten zu deinen Panels hinzufügen, dann erst die Panels ins BorderLayout und auch erst ganz zum Schluss setVisible(true) setzen.
 
K

keinereg

Gast
Java:
import java.awt.*;

import javax.swing.*;
import javax.swing.border.Border;
import javax.swing.text.FlowView.FlowStrategy;
public class CodecGUI extends JFrame{
  Würfel würfel1 = new Würfel();
  Würfel würfel2 = new Würfel();
  
  public CodecGUI(){
	initComponents();  
  }
  
  public void initComponents(){
      //Komponenten aufbauen
     JTextArea klartext = new JTextArea();
     klartext.setText("Bitte den Klartext eingeben");
     klartext.setColumns(20);
     klartext.setRows(10);
     //JTextArea Klartext einstellen
     JTextArea geheimtext = new JTextArea();
     geheimtext.setText("Bitte den Geheimtext eingeben");
     geheimtext.setColumns(20);
     geheimtext.setRows(10);
     //JTextArea Geheimtext einstellen
     
     
     JTextField codewort1 = new JTextField();
     JTextField codewort2 = new JTextField();
     JButton encode = new JButton();
     encode.setText("Verschlüsseln");
     JButton decode = new JButton();
     decode.setText("Entschlüsseln");
     JLabel klartextlabel = new JLabel("Klartext eingeben:");
     JLabel geheimtextlabel = new JLabel("Geheimtext eingeben:"); 
     JLabel codewort1label = new JLabel ("Erstes Codewort eingeben");
     JLabel codewort2label = new JLabel ("Zweites Codewort eingeben");
          
     //Panel erstellen
     JPanel c = new JPanel();
     c.setLayout(new BorderLayout());
     
     //Setzen der Werte fürs JFrame von CodecGUI
     this.add(c);
     this.setTitle("Doppelwürfelprogramm");
     this.setSize(600,300);
     this.setVisible(true);
     this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
     //Unterpanel
     JPanel wPanel = new JPanel(new FlowLayout());
     JPanel wPanel2 = new JPanel(new BorderLayout());
     JPanel wPanel3 = new JPanel (new BorderLayout());
     JPanel cPanel = new JPanel(new FlowLayout());
     JPanel ePanel = new JPanel(new FlowLayout());
     JPanel cPanel2 = new JPanel(new FlowLayout());
     JPanel cPanel3 = new JPanel(new FlowLayout());
     
     
     //Panels hinzufügen
     c.add(wPanel,BorderLayout.NORTH);
     wPanel.add(wPanel2,BorderLayout.NORTH);
     wPanel.add(wPanel3,BorderLayout.SOUTH);
     c.add(cPanel,BorderLayout.CENTER);
     cPanel.add(cPanel2,BorderLayout.NORTH);
     cPanel.add(cPanel3,BorderLayout.SOUTH);
     c.add(ePanel,BorderLayout.AFTER_LAST_LINE);
      
     //Hinzufügen der Komponenten       
     wPanel2.add(klartextlabel,BorderLayout.NORTH);
     wPanel2.add(klartext);
     wPanel3.add(geheimtextlabel,BorderLayout.NORTH);
     wPanel3.add(geheimtext,BorderLayout.SOUTH); 
     cPanel2.add(codewort1label);
     cPanel2.add(codewort1);
     cPanel3.add(codewort2label,BorderLayout.NORTH);       
     cPanel3.add(codewort2);
     ePanel.add(encode);
     ePanel.add(decode);
     }
  
}
Die Komponenten meinte ich. Ich bastel halt atm an einer GUI, weil ich das Zusammenklicken mit NetBeans endlich zugunsten des Verständnis einer GUI aufgeben will
 
C

Camino

Gast
Nein, nur am Ende für den Frame. Aber erst die Komponenten erstellen und dem Panel hinzufügen und danach dann alle in das BorderLayout des Frames ... und danach setVisible(true) für den Frame.
 
K

keinereg

Gast
1. Nicht jeder ist ein Programmierfreak...

2. es funktioniert auch wenn ich alle Frames Visible setze NICHT...
 
C

Camino

Gast
Es hat nichts mit "Programmierfreak" zu tun. Du musst halt auch richtig lesen, was ich dir geschrieben habe. Da steht zweimal, dass du setVisible(true) für den Frame erst ganz am Ende aufrufen musst.

Also einfach deine Zeile 47
Code:
this.setVisible(true);
ans Ende in deiner Methode initComponents.
 
K

keinereg

Gast
Java:
     //Setzen der Werte fürs JFrame von CodecGUI
     this.add(c);
     this.setTitle("Doppelwürfelprogramm");
     this.setSize(600,300);
     this.setVisible(true);
     this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
     }

Hab ich jetzt am Ende der entsprechenden Methode stehen, er macht aber weiterhin den selben Fehler
und zeigt Codewort1 und Codewort2 nicht an
 
C

Camino

Gast
Dann stell bitte nochmal den ganzen Code rein. Ich hatte nämlich (auch schon 2mal) geschrieben, dass du zuerst deine Komponenten erstellen sollst, diese dann den Panel hinzufügen, und dann die Panels ins BorderLayout vom Frame.
 

jgh

Top Contributor
[java=28]JTextField codewort1 = new JTextField(10);
JTextField codewort2 = new JTextField(10);
JButton encode = new JButton();[/code]
 
K

keinereg

Gast
Java:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.border.Border;
public class CodecGUI extends JFrame implements ActionListener{
  Würfel würfel1 = new Würfel();
  Würfel würfel2 = new Würfel();
  JTextField codewort1 = new JTextField();
  JTextField codewort2 = new JTextField();
  JButton encode = new JButton();
  JButton decode = new JButton();
  JTextArea klartext = new JTextArea();
  JTextArea geheimtext = new JTextArea();
  JLabel klartextlabel = new JLabel("Klartext eingeben:");
  JLabel geheimtextlabel = new JLabel("Geheimtext eingeben:"); 
  JLabel codewort1label = new JLabel ("Erstes Codewort eingeben");
  JLabel codewort2label = new JLabel ("Zweites Codewort eingeben");
  
  //Konstruktor
  public CodecGUI(){
      initComponents();
  }
  
  //Aufbau der GUI-Elemente
  public void initComponents (){
     
     //JTextArea Klartext einstellen
     klartext.setText("Bitte den Klartext eingeben");
     klartext.setColumns(20);
     klartext.setRows(10);
     //JTextArea Geheimtext einstellen
     geheimtext.setText("Bitte den Geheimtext eingeben");
     geheimtext.setColumns(20);
     geheimtext.setRows(10);
        
     //Buttons mit Text versehen und ActionListener zuweisen
     encode.setText("Verschlüsseln");
     encode.addActionListener(this);
     decode.setText("Entschlüsseln");
     decode.addActionListener(this);
     //Panel erstellen
     JPanel c = new JPanel();
     c.setLayout(new BorderLayout());
          
     //Unterpanel
     JPanel wPanel = new JPanel(new FlowLayout());
     JPanel wPanel2 = new JPanel(new BorderLayout());
     JPanel wPanel3 = new JPanel (new BorderLayout());
     JPanel cPanel = new JPanel(new FlowLayout());
     JPanel ePanel = new JPanel(new FlowLayout());
     JPanel cPanel2 = new JPanel(new FlowLayout());
     JPanel cPanel3 = new JPanel(new FlowLayout());
     
     
     //Panels hinzufügen
     c.add(wPanel,BorderLayout.NORTH);
     wPanel.add(wPanel2,BorderLayout.NORTH);
     wPanel.add(wPanel3,BorderLayout.SOUTH);
     c.add(cPanel,BorderLayout.CENTER);
     cPanel.add(cPanel2,BorderLayout.NORTH);
     cPanel.add(cPanel3,BorderLayout.SOUTH);
     c.add(ePanel,BorderLayout.AFTER_LAST_LINE);
      
     //Hinzufügen der Komponenten       
     wPanel2.add(klartextlabel,BorderLayout.NORTH);
     wPanel2.add(klartext,BorderLayout.SOUTH);
     wPanel3.add(geheimtextlabel,BorderLayout.NORTH);
     wPanel3.add(geheimtext,BorderLayout.SOUTH); 
     cPanel2.add(codewort1label,BorderLayout.NORTH);
     cPanel2.add(codewort1,BorderLayout.SOUTH);
     cPanel3.add(codewort2label,BorderLayout.NORTH);       
     cPanel3.add(codewort2,BorderLayout.SOUTH);
     ePanel.add(encode);
     ePanel.add(decode); 
     
     //Setzen der Werte fürs JFrame von CodecGUI
     this.add(c);
     this.setTitle("Doppelwürfelprogramm");
     this.setSize(600,300);
     this.setVisible(true);
     this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
     }
      @Override
      //ActionListener fängt alle Buttons, dann if-Behandlung
    public void actionPerformed(ActionEvent e) {
        if (e.getSource()==encode) {
        würfel1.setzeLosung(codewort1.getText());
        }
        if (e.getSource()==decode) {
            geheimtext.setText("Pissed");
        }
    
    }
}
Ist jetzt aber schon etwas "weiterentwickelt", weil ich hab mir erlaubt schon mal ein bisschen weiter zu machen^^
 
K

keinereg

Gast
Danke habs lösen können.

Danke auch für eure Geduld.
ich hab jetzt dafür gelernt wie ich GUIs zum laufen bekomme^^
 
C

Camino

Gast
Wäre auch noch schön, wenn du deiner Forumsmitwelt verraten würdest, wo der Fehler lag bzw. wie du es gelöst hast.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Wieso verändert sich die Framerate nach erneutem Starten des AnimationTimer? AWT, Swing, JavaFX & SWT 18
CptK Wieso wird nur ein Teil meiner Buttons angezeigt? AWT, Swing, JavaFX & SWT 1
J JavaFX CSS einbinden - Wieso will das einfach nicht!!! AWT, Swing, JavaFX & SWT 1
LexeB4F setValueAT geht nicht... wieso? AWT, Swing, JavaFX & SWT 14
Z JComponent's requestFocus() - Wieso nicht immer anwendbar? AWT, Swing, JavaFX & SWT 1
C Wieso nur erster Buchstabe bei Caesar-Entschlüsselung? AWT, Swing, JavaFX & SWT 2
A Swing JTable wird nicht über zurückegebene Referenz geaddet.Wieso nicht? AWT, Swing, JavaFX & SWT 5
K Applet Wieso kann ich keine Array im Applet initialisieren AWT, Swing, JavaFX & SWT 13
propra Wieso wird paintComponent() beim Start 2 malausgeführt? AWT, Swing, JavaFX & SWT 4
P 2D-Grafik Wieso wird das Bild nicht angezeigt ? AWT, Swing, JavaFX & SWT 4
T wieso leere Oberfläche? AWT, Swing, JavaFX & SWT 5
G Swing Wieso braucht man nach setVisible mal ein revalidate und mal nicht? AWT, Swing, JavaFX & SWT 8
C Wieso funktionert der CellRenderer nicht? AWT, Swing, JavaFX & SWT 2
L Wieso werden die Icons nicht dargestellt? AWT, Swing, JavaFX & SWT 2
W Wieso SerialVersionUID bei Swing-Komponenten AWT, Swing, JavaFX & SWT 5
N Freiraum in der GUI - Wieso? AWT, Swing, JavaFX & SWT 6
S Wieso Fenster im EDT sichtbar machen? AWT, Swing, JavaFX & SWT 43
M Wieso geht das nicht! AWT, Swing, JavaFX & SWT 3
S animation Flackern trotz doppelpufferung wieso? AWT, Swing, JavaFX & SWT 2
G Wieso wird meine Scrollbar nicht angezeigt? AWT, Swing, JavaFX & SWT 3
K JTable - wieso funktioniert der Autoscroll nicht? AWT, Swing, JavaFX & SWT 5
Paule JFrame bleibt leer, wieso? AWT, Swing, JavaFX & SWT 2
S Wieso werden die Bilder nicht angezeigt? AWT, Swing, JavaFX & SWT 4
G Progressbar aktualisiert sich nicht (vernünftig). WIESO? AWT, Swing, JavaFX & SWT 2
S AffineTranformation Bilder verschwinden von Anzeige bei Pan, Zoom AWT, Swing, JavaFX & SWT 6
D JavaFX Menu soll nicht bei jedem Click verschwinden AWT, Swing, JavaFX & SWT 8
M Gezeichnete Linine verschwinden AWT, Swing, JavaFX & SWT 7
P Scrollbalken verschwinden beim Zoomen AWT, Swing, JavaFX & SWT 4
F textarea lässt panel verschwinden AWT, Swing, JavaFX & SWT 4
B setCursor() lässt Cursor ganz verschwinden AWT, Swing, JavaFX & SWT 9
F Swing JTextfield Beispieltext soll nach Klick verschwinden AWT, Swing, JavaFX & SWT 3
A AWT Nach dem generieren von bildern verschwinden diese wieder AWT, Swing, JavaFX & SWT 9
M Verschwinden von gezeichneten Objekten nach Fensterverkleinerung AWT, Swing, JavaFX & SWT 3
A SWT Tooltip soll nicht verschwinden, solange User mit Maus auf Control ist AWT, Swing, JavaFX & SWT 5
C AWT Buttons verschwinden, wenn Fenster Vollbild gesetzt wird AWT, Swing, JavaFX & SWT 38
T Menüacceleratoren verschwinden bei JTree AWT, Swing, JavaFX & SWT 5
N Teile des GUI verschwinden AWT, Swing, JavaFX & SWT 8
J Hintergrundbild des JFrames lässt Textboxen verschwinden? AWT, Swing, JavaFX & SWT 4
data89 Komponenten verschwinden von JPanel, wenn ich den HG selbst male - Hilfeeee AWT, Swing, JavaFX & SWT 16
U SWT Linien verschwinden nach Verschieben AWT, Swing, JavaFX & SWT 3
G Hilfe Meine JPanels verschwinden im Müll AWT, Swing, JavaFX & SWT 10
G JTabbedPane verschwinden einfach bei Paelaktualisierung AWT, Swing, JavaFX & SWT 7
D SWING AWT - Komponenten komplett verschwinden lassen AWT, Swing, JavaFX & SWT 6
A Icons von Kontextmenüeinträgen verschwinden (SWT) AWT, Swing, JavaFX & SWT 2
K JSpinner Werte verschwinden bei Panel Wechsel AWT, Swing, JavaFX & SWT 2
G JPanel verschwinden lassen, aber wie? AWT, Swing, JavaFX & SWT 3
T Problem mit Image, restliche Elemente der Gui verschwinden AWT, Swing, JavaFX & SWT 9
B NULL Layout - TextFelder verschwinden AWT, Swing, JavaFX & SWT 8
G JTabbedPane: Tabs verschwinden lassen ? AWT, Swing, JavaFX & SWT 10
X Verschwinden des JMenu unterbinden AWT, Swing, JavaFX & SWT 3
L Labels verschwinden! AWT, Swing, JavaFX & SWT 10
G JTabbedPane: Tabs verschwinden lassen und wieder anzeigen AWT, Swing, JavaFX & SWT 3
juppi JFrame will nicht wieder verschwinden AWT, Swing, JavaFX & SWT 2
M Elemente statisch anordnen AWT, Swing, JavaFX & SWT 4
_user_q ChoiceBox Elemente: Sprache ändern AWT, Swing, JavaFX & SWT 7
T Elemente auf vorheriger Stage, nach Wechsel der Stage ansprechen AWT, Swing, JavaFX & SWT 32
Lunar Swing JFrame erstellt; weitere Elemente werden nicht eingefügt/sind nicht zu sehen AWT, Swing, JavaFX & SWT 4
J JavaFX JavaFX Splitpane - Zugriff auf die Controller der Elemente AWT, Swing, JavaFX & SWT 8
G Swing Variable Elemente für GroupLayout AWT, Swing, JavaFX & SWT 18
F JFrame zeigt nicht alle Elemente auf anhieb an AWT, Swing, JavaFX & SWT 4
J JavaFX Elemente werden nicht zu TableView hinzugefügt AWT, Swing, JavaFX & SWT 3
J JavaFX JavaFX Elemente an Fenstergröße skalieren AWT, Swing, JavaFX & SWT 5
M Schnittpunkte zwischen zwei Graphics2D Elemente ermitteln. AWT, Swing, JavaFX & SWT 5
T LayoutManager Anordnen der Elemente im GridBagLayout AWT, Swing, JavaFX & SWT 11
T AWT Grafik"Array" einzelne Elemente verschieben AWT, Swing, JavaFX & SWT 1
sandaime Swing 3 JComboBoxen ausgelesen Elemente einzel ausgeben AWT, Swing, JavaFX & SWT 6
M JavaFX GUI-Elemente erstellen, nachdem die GUI geladen hat AWT, Swing, JavaFX & SWT 4
TheJavaKid JavaFX Elemente positionieren AWT, Swing, JavaFX & SWT 2
B Swing Auf JList-Elemente aus einer anderen Klasse zugreifen AWT, Swing, JavaFX & SWT 1
N JavaFX GUI Elemente einer anderen (FXML)Klasse ansprechen AWT, Swing, JavaFX & SWT 16
D JavaFX Elemente aus VBox unterscheiden AWT, Swing, JavaFX & SWT 1
K Kann nicht auf GUI Elemente zugreifen, mit einer Methode im Controller klappts, mit der anderen nich AWT, Swing, JavaFX & SWT 10
R Swing Elemente verschieben sich im GBL beim Ein/Ausblenden AWT, Swing, JavaFX & SWT 0
Z Swing Swing: Elemente werden doppel/verschoben gezeichnet, sind teils unsichtbar etc... AWT, Swing, JavaFX & SWT 10
wolfgang63 JavaFX Elemente einer Group entfernen AWT, Swing, JavaFX & SWT 1
D SWT SWT Elemente aus anderen Klassen aufrufen - Invalid thread access AWT, Swing, JavaFX & SWT 6
O Ähnliche GUI Elemente - vererbung?! AWT, Swing, JavaFX & SWT 0
M AWT Gui anzeige Probes - Elemente erscheinen nicht regelmäßig AWT, Swing, JavaFX & SWT 2
M Swing JTabbedPane: Tab-Elemente anpassen AWT, Swing, JavaFX & SWT 3
T Swing Elemente der JList überlappend darstellen AWT, Swing, JavaFX & SWT 5
K GUI Elemente über eine separate Textdatei beschriften? AWT, Swing, JavaFX & SWT 4
T Alle Swing-Elemente anzeigen AWT, Swing, JavaFX & SWT 9
M Swing Elemente im Dialog neu "laden". AWT, Swing, JavaFX & SWT 6
T JTree - Elemente mit Doppelklick auswählen AWT, Swing, JavaFX & SWT 6
L Swing ActionListener zugriff auf bestimmte Elemente AWT, Swing, JavaFX & SWT 3
S Elemente im Panel in richtige Ausgangsstellung bringen AWT, Swing, JavaFX & SWT 10
M JFrame + JNA/aero modul - GUI Elemente so möglich? AWT, Swing, JavaFX & SWT 28
P Elemente einer JList ausgeben AWT, Swing, JavaFX & SWT 11
B JList zeigt Elemente nicht an AWT, Swing, JavaFX & SWT 3
R Größe/Anordnung der Gui-Elemente automatisch? AWT, Swing, JavaFX & SWT 6
S JVM von Oracle/Sun soll für AWT/SWING Elemente die die Optimierungen der NVidia Treiber verwenden AWT, Swing, JavaFX & SWT 3
C Swing JFrame nimmt keine anderen Elemente auf AWT, Swing, JavaFX & SWT 13
R JApplet, Elemente unsichtbar AWT, Swing, JavaFX & SWT 2
1 JList - Elemente mit rechter Maustaste wählen AWT, Swing, JavaFX & SWT 6
L ID für GUI Elemente generieren AWT, Swing, JavaFX & SWT 11
C SWT-Elemente an View-Fenster angleichen und automatisch resizen AWT, Swing, JavaFX & SWT 3
U Elemente im Panel zentrieren mit GridLayout AWT, Swing, JavaFX & SWT 3
P Elemente im Kreis aufstellen AWT, Swing, JavaFX & SWT 5
G Swing Elemente aus Arraylist auf JFrame anzeigen AWT, Swing, JavaFX & SWT 9
G GUI Elemente aus NetBeans verwenden AWT, Swing, JavaFX & SWT 8

Ähnliche Java Themen

Neue Themen


Oben