GUI Komponenten OOP ?

Status
Nicht offen für weitere Antworten.

Vril

Bekanntes Mitglied
Hallo,

hab da so mein Problem mit einem GUI und OOP. Bisher hab ich meine GUI-Komponenten gerne
public static, also z. B. public static JTextField textFeld1 gemacht, aber das soll man ja nicht.... :oops:

Sondern man soll es ja so machen: private JTextField textFeld1

Ok, dabei hab ich dann aber ein Problem, bisher machte ich immer folgendes:
Code:
public class meineGUI extends JFrame{
...
public static JTextField textFeld1;
...
//usw., das ganze halt noch zusammenbauen
Dann hatte ich noch eine andere public class, die halt irgendwas machte, z. B.
Code:
public class machWas {
...
meineGUI.textFeld1.setText("Hallo");
...
Wie macht man das jetzt richtig? Sprich was muss ich noch machen, ohne public static JTextField,
damit ich in machWas das JTextField aus meineGUI ansprechen kann?

Info: meineGUI wird aus machWas gestartet!
 

Oni

Top Contributor
Du muss dann mit objekten arbeiten ;-)
Klassen namen sollte man groß schreiben.

Code:
public class MeineGui extends JFrame{

  private JTextField textField;

  public MeineGui(){
    new MachWas(this);
  }
...

}



public class MachWas {

  private MeineGui meineGui;
  
  public MachWas(MeineGui meineGui){
    this.meineGui = meineGui;
    
    meineMethode();
  }
  

  public void meineMethode(){
    meineGui.textFeld1.setText("hallo"); // das macht man eigentlich mit setter und getter -methoden 
  }
}
 

Oni

Top Contributor
So ist der Code ausführbar...

falls du mal etwas testen willst:


Klasse MeineGUI:
Code:
import javax.swing.*;

public class MeineGUI extends JFrame{

     private JTextField textField;

     // Konstruktor
	public MeineGUI(){
     	setTitle("Mein GUI");
          setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          textField = new JTextField(20);

          add(textField);
          pack();

          new MachWas(this);
     }

     // Setzt Text ins TextField
     public void setTextInTextField(String str){
     	textField.setText(str);
     }

     // Main
     public static void main(String[] args){
     	new MeineGUI().setVisible(true);
     }
}


Klasse MachWas:
Code:
import javax.swing.*;

public class MachWas{

	private MeineGUI meineGUI;

     // Konstruktor
     public MachWas(MeineGUI meineGUI){
          this.meineGUI = meineGUI;
          meineGUI.setTextInTextField("Test");
     }
}
 

Vril

Bekanntes Mitglied
Ok, schon mal danke. Hab es jetzt etwas anders gemacht, da bei mir ja MachWas die main ist und MeineGUI
nur der Dialog dazu:
Code:
import javax.swing.*; 

public class MeineGUI extends JDialog{ 

     private JTextField textField; 

     // Konstruktor 
          public MeineGUI(){ 
          textField = new JTextField(20); 
          add(textField); 
setVisible(true);
         } 

     // Setzt Text ins TextField 
     public void setTextInTextField(String str){ 
        textField.setText(str); 
     } 
}
Code:
//alles importieren was nötig...

public class MachWas extends JFrame implements ActionListener{ 

     // Konstruktor 
     public MachWas(){ 
//hier wird ein Button reingebaut
                       } 
public void actionPerformend(ActionEvent e){
//wenn Button gedrückt dann:
  MeineGUI mg = new MeineGUI(this);
			mg.setTextInTextField("Hallo");
}
public static void main(String[] args){
new MachWas();

}
Das funktioniert auch ganz schön, sprich "Hallo" wir in das TextField geschrieben!
Jetzt setze ich aber bei MeineGUI setModal(true) und es funktioniert nicht mehr! An was liegt das?
 

Oni

Top Contributor
was hast du den vor zu machen?

die gui komponente sollte doch eigentlich das jframe sein oder?

wenn es dir nur darum geht das die main methode in MachWas steht, kannst das auch so schreiben


Klasse MeineGUI :
Code:
import javax.swing.event.*;
import javax.swing.*;

public class MeineGUI extends JFrame implements ActionListener{

     private JTextField textField;

     // Konstruktor
   public MeineGUI(){
        setTitle("Mein GUI");
          setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          textField = new JTextField(20);

          add(textField);
          pack();
          setVisible(true);        
     }

     // Setzt Text ins TextField
     public void setTextInTextField(String str){
        textField.setText(str);
     }


     public void actionPerformed(ActionEvent e){
        //....
     }
}


Klasse MachWas:
Code:
import javax.swing.*;

public class MachWas{

   private MeineGUI meineGUI;

     // Konstruktor
     public MachWas(MeineGUI meineGUI){
          this.meineGUI = meineGUI;
          meineGUI.setTextInTextField("Test");
     }
     
     
     // Main
     public static void main(String[] args){
        MeineGUI meineGUI = new MeineGUI();
        new MachWas(meineGUI);       
     }
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Swing Swing - Eigene Komponenten erstellen AWT, Swing, JavaFX & SWT 17
W Swing GUI - Komponenten platzieren AWT, Swing, JavaFX & SWT 14
D Swing Komponenten nicht sichtbar nach Start AWT, Swing, JavaFX & SWT 12
H Fehler: Zum Ausführen dieser Anwendung benötigte JavaFX-Runtime-Komponenten fehlen AWT, Swing, JavaFX & SWT 44
H Swing , GridLayout, Größenbestimmung der Komponenten im Layout AWT, Swing, JavaFX & SWT 8
BabySuna Swing Komponenten auslagern auf separate Datei AWT, Swing, JavaFX & SWT 8
B Mit ContentPane werden Komponenten angezeigt, mit SplitPane, JPanel nicht? AWT, Swing, JavaFX & SWT 6
P AWT Einzelne Komponenten zur Laufzeit austauschen? AWT, Swing, JavaFX & SWT 3
D [Swing] Anordnung von Komponenten mit GridLayout Manager AWT, Swing, JavaFX & SWT 13
L Komponenten eines Panels werden erst nach Klick darauf angezeigt AWT, Swing, JavaFX & SWT 13
E Komponenten von JScrollPane werden nicht richtig ermittelt AWT, Swing, JavaFX & SWT 2
F Gebundene Eigenschaften bei Komponenten mit NetBeans verarbeiten AWT, Swing, JavaFX & SWT 3
H LayoutManager Probleme mit Positionierung/Abständen der Komponenten AWT, Swing, JavaFX & SWT 14
dereki2000 Swing JFrame nah hinzufügen von Komponenten akualisieren. AWT, Swing, JavaFX & SWT 2
L Swing Komponenten erst nach Resize sichtbar AWT, Swing, JavaFX & SWT 2
S Swing Panel übernimmt komponenten von anderem AWT, Swing, JavaFX & SWT 7
T Reihenfolge der Komponenten im einem JFrame AWT, Swing, JavaFX & SWT 8
P Gleichmäßige Anodnung von Komponenten im migLayout AWT, Swing, JavaFX & SWT 2
DaCrazyJavaExpert Swing Komponenten genauer anordnen. AWT, Swing, JavaFX & SWT 13
DaCrazyJavaExpert Swing Komponenten in GridBagLayout werden Falsch angeordnet AWT, Swing, JavaFX & SWT 1
P Größe und Ausrichtung von Komponenten festlegen AWT, Swing, JavaFX & SWT 13
MaxG. Swing Swing Komponenten zur Laufzeit hinzufügen AWT, Swing, JavaFX & SWT 2
D Swing Komponenten Anordnung eines Panels in Verbindung eines weiteren Panels AWT, Swing, JavaFX & SWT 9
N Swing Wie Programm strukturieren? (Dynamisch Komponenten hinzufügen) AWT, Swing, JavaFX & SWT 1
Neumi5694 LookAndFeel Look & Feel nicht angezeigter Komponenten ändern AWT, Swing, JavaFX & SWT 6
D JavaFX GUI Komponenten werden langsam bei größerer Datenmenge AWT, Swing, JavaFX & SWT 6
R Komponenten von JPanel bleiben unsichtbar AWT, Swing, JavaFX & SWT 2
D JavaFX Welche Komponenten vermisst ihr? Welche wären essenziell notwendig? AWT, Swing, JavaFX & SWT 8
M Datei mit Komponenten einbinden AWT, Swing, JavaFX & SWT 7
T SWT Externer zugrif auf SWT Komponenten AWT, Swing, JavaFX & SWT 3
Shams Probleme bei dem Hinzufügen von Komponenten zu einem JFrame AWT, Swing, JavaFX & SWT 3
J MouseOver bei Komponenten AWT, Swing, JavaFX & SWT 9
S Größe der Komponenten, beim ändern der größe des Frames, mit ändern! AWT, Swing, JavaFX & SWT 2
D LayoutManager GUI skalieren und deren Komponenten mit Grid(Bag)Layout-Manager. AWT, Swing, JavaFX & SWT 5
G Komponenten vergrößern sich nicht trotz Layoutmanager AWT, Swing, JavaFX & SWT 24
M JavaFX Scenebuilder eigene Komponenten AWT, Swing, JavaFX & SWT 8
A Swing per JComboBox gewünschtes Attribut auswählen und Komponenten passen sich an AWT, Swing, JavaFX & SWT 7
A JavaFX Eigene Komponenten im Scene Builder AWT, Swing, JavaFX & SWT 0
Q Swing Fenster updaten - Hinzugefügte Komponenten darstellen AWT, Swing, JavaFX & SWT 3
S BoxLayout: Anordnung der Komponenten links statt zentriert AWT, Swing, JavaFX & SWT 0
Bartertown JTable - Verschiedene Komponenten in einer Spalte unterbringen AWT, Swing, JavaFX & SWT 3
U Frame zeigt keine Komponenten AWT, Swing, JavaFX & SWT 7
G Applet Applet Komponenten flackern AWT, Swing, JavaFX & SWT 10
K LayoutManager Probleme mit 2 Komponenten AWT, Swing, JavaFX & SWT 9
M Komponenten übereinander AWT, Swing, JavaFX & SWT 7
R Komponenten werden erst nach maximierung des Frames sichtbar (Linux) AWT, Swing, JavaFX & SWT 5
H Swing Getter für GUI-Komponenten AWT, Swing, JavaFX & SWT 3
B Komponenten in Fenster verdrängen sich untereinander AWT, Swing, JavaFX & SWT 6
N Komponenten übereinander AWT, Swing, JavaFX & SWT 3
S Anordnung von GUI-Komponenten mit LayouManger (Problem beim anzeigen von JTextField) AWT, Swing, JavaFX & SWT 5
M Swing Komponenten enablen? AWT, Swing, JavaFX & SWT 4
X Java Komponenten jeder Zeit hinzufügen können AWT, Swing, JavaFX & SWT 3
S View-Komponenten im Controller bekannt machen AWT, Swing, JavaFX & SWT 7
D Grafische Komponenten komplett neu aufbauen (Neukonstruktion) AWT, Swing, JavaFX & SWT 5
A AWT Komponenten in JavaFX einbetten AWT, Swing, JavaFX & SWT 9
M Swing Komponenten erscheinen beim darüberfahren? AWT, Swing, JavaFX & SWT 7
H Komponenten unmittelbar nach dem Ausführen teilweise unsichtbar AWT, Swing, JavaFX & SWT 3
K GUI in Komponenten aufteilen (MVC) AWT, Swing, JavaFX & SWT 2
W Funktionen, sowie aufruf einiger Komponenten AWT, Swing, JavaFX & SWT 4
J Alle Komponenten eines JFrames durchlaufen AWT, Swing, JavaFX & SWT 2
R Swing Komponenten bleiben bei Animation unsichtbar AWT, Swing, JavaFX & SWT 7
T Unter JPanel liegende Komponenten "totschalten" AWT, Swing, JavaFX & SWT 5
morphesus Swing Komponenten werden nicht angezeigt AWT, Swing, JavaFX & SWT 8
C Swing Reihenfolge der Initialisierung von Komponenten AWT, Swing, JavaFX & SWT 6
Asamandra LayoutManager GridBagLayout - Komponenten (mit fill?) vergrößern aber Proportionen dabei erhalten? AWT, Swing, JavaFX & SWT 3
B Swing Komponenten auf JApplet setSize AWT, Swing, JavaFX & SWT 7
B Swing Komponenten auf JApplet setSize AWT, Swing, JavaFX & SWT 2
W Bildgröße automatisch an Komponenten anpassen AWT, Swing, JavaFX & SWT 3
TheWhiteShadow Swing Komponenten organisieren AWT, Swing, JavaFX & SWT 9
S Überlappung zweier Komponenten AWT, Swing, JavaFX & SWT 12
Z größe der komponenten bestimmen AWT, Swing, JavaFX & SWT 16
C GUI-Komponenten skalieren AWT, Swing, JavaFX & SWT 10
M Seltsames Problem mit Resize eines Fensters und seiner Komponenten AWT, Swing, JavaFX & SWT 2
D Swing Komponenten verstecken AWT, Swing, JavaFX & SWT 4
X Swing Resizing der Komponenten innheralb eines Panels AWT, Swing, JavaFX & SWT 2
T Swing Font für alle Komponenten ändern AWT, Swing, JavaFX & SWT 2
S Problem mit Swing Komponenten AWT, Swing, JavaFX & SWT 11
A Swing Alle Komponenten auf JFrame ermitteln AWT, Swing, JavaFX & SWT 4
E LookAndFeel Eigene Komponenten mit Synth L&F stylen AWT, Swing, JavaFX & SWT 2
S Swing Frame und Klasse extends JPanel - Komponenten zur Laufzeit austauschen AWT, Swing, JavaFX & SWT 18
S JButton und textfield.setText - Komponenten über-/verdecken sich AWT, Swing, JavaFX & SWT 15
M Komponenten übereinander prüfen AWT, Swing, JavaFX & SWT 3
W LayoutManager GridBag richtig nutzen - Komponenten richtig anordnen und automatisch vergrößern AWT, Swing, JavaFX & SWT 5
M Komponenten in anderer Reihenfolge anzeigen AWT, Swing, JavaFX & SWT 4
G swing Komponenten verrutschen ständig... AWT, Swing, JavaFX & SWT 6
D Mit GridBayLayout Komponenten anordnen AWT, Swing, JavaFX & SWT 6
N Window transparent, Komponenten nicht transparent AWT, Swing, JavaFX & SWT 11
R Farbänderung von Komponenten wird nicht wirksam AWT, Swing, JavaFX & SWT 7
P Swing Hierachie oder Reihenfolge von Komponenten AWT, Swing, JavaFX & SWT 5
T Sich überlappende Komponenten AWT, Swing, JavaFX & SWT 2
D Swing Probleme beim Anzeigen der einzelnen Komponenten AWT, Swing, JavaFX & SWT 16
R Swing Komponenten klein angezeigt AWT, Swing, JavaFX & SWT 10
D Swing Swing Komponenten verschieben AWT, Swing, JavaFX & SWT 7
B Komponenten nach Skalierung nicht mehr ansprechbar AWT, Swing, JavaFX & SWT 9
Kr0e AWT Komponenten in JPanel AWT, Swing, JavaFX & SWT 6
JuliaOne Komponenten innerhalb eine JScrollpane werden auch ausserhalb davon gezeichnet! AWT, Swing, JavaFX & SWT 7
xehpuk Swing Komponenten werden durch setFont() winzig AWT, Swing, JavaFX & SWT 3
O Größe von Komponenten im JFrame manuell verändern AWT, Swing, JavaFX & SWT 2
H Komponenten anwendugsweit formatieren AWT, Swing, JavaFX & SWT 6
M Swing Komponenten mit fester Größe an Fensterrand(JFrame) AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben