Kommunikation zwischen Klassen / Konstruktoren bei Swing

Lucoding

Mitglied
Hallo,
Mein Code, um eine GUI-Oberfläche zu erzeugen, befinden sich noch in einer Klasse. Ich habe derzeit knapp 7 Labels sowie etwa 7 Buttons. Mir ist bewusst, dass dieser Code unfassbar schlecht ist, da alles in eine Klasse gepackt ist. Nun möchte ich die Labels, Buttons und die Eigenschaften des Fensters in eigene Klassen aufteilen. Dies habe ich gemacht. Nun möchte ich durch eine extra Klasse (Main) das Fenster erzeugen mit allen Labels und Buttons zusammen. Nun erzeuge ich aber nur das Fenster, ohne Buttons und Labels. Dies liegt selbstverständlich daran, dass die Klasse "Fenster" keinen Zusammenhang mit den Klassen "Buttons" und "Labels" hat.
Benötige ich Beziehungsverhalten wie "Vererbung" oder "Interfaces". um das Problem lösen zu können?

Vielen Dank im Voraus :)
 

Lucoding

Mitglied
Natürlich :)
 

Anhänge

  • Button-Klasse.PNG
    Button-Klasse.PNG
    120,3 KB · Aufrufe: 8
  • Label-Klassen.PNG
    Label-Klassen.PNG
    124,6 KB · Aufrufe: 6
  • Main-Klasse.PNG
    Main-Klasse.PNG
    24,4 KB · Aufrufe: 5
  • Fenster-Klasse.PNG
    Fenster-Klasse.PNG
    63,9 KB · Aufrufe: 4

mrBrown

Super-Moderator
Mitarbeiter
Code bitte als Text, nicht als Screenshot :)

Was man aber schon mal als erstes sagen kann: du brauchst keinerlei Vererbung in deinem Programm, die wo du sie nutzt ist sie in jedem Fall falsch
 

Lucoding

Mitglied
Das hier ist die Main-Methode, welche das Fenster mit den Buttons und den Labels erzeugen soll

Java:
public class Main {


    public static void main(String[] args) {

       //Hier sollte das Fenster aufgerufen werden

    }

}


Java:
import javax.swing.*;
import javax.swing.JPanel;
import java.awt.*;
import static javax.swing.JComponent.setDefaultLocale;

public class Fenster {

    JFrame frame;
    static JPanel panel;

    public Fenster() {
        frame = new JFrame();
        panel = new JPanel();
        panel.setBorder(BorderFactory.createEmptyBorder(30, 30, 10, 30));
        panel.setLayout(null);
        frame.add(panel, BorderLayout.CENTER);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setTitle("Hauptseite - GUI");
        frame.pack();
        frame.setVisible(true);
        frame.setSize(1500, 700);
        frame.setLocationRelativeTo(null);
        setDefaultLocale(null);
    }
}


Java:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionListener;

public class Button extends Fenster {

    JButton buttonEinchecken,
            buttonAuschecken,
            buttonFarbig;
  
    public Button() {
      
        buttonEinchecken = new JButton("einchecken");
        buttonEinchecken.setSize(100, 100);
        buttonEinchecken.setBounds(800, 50, 200, 50);
        buttonEinchecken.setFont(new Font("Arial", Font.BOLD, 20));
        panel.add(buttonEinchecken);
        buttonEinchecken.addActionListener((ActionListener) this);
        buttonEinchecken.setActionCommand("einchecken");
      
        buttonAuschecken = new JButton("auschecken");
        buttonAuschecken.setSize(100, 100);
        buttonAuschecken.setBounds(1020, 50, 200, 50);
        buttonAuschecken.setFont(new Font("Arial", Font.BOLD, 20));
        panel.add(buttonAuschecken);
        buttonAuschecken.addActionListener((ActionListener) this);
        buttonAuschecken.setActionCommand("auschecken");
      
        buttonFarbig = new JButton("");
        buttonFarbig.setSize(100, 100);
        buttonFarbig.setBounds(920, 150, 200, 50);
        panel.add(buttonFarbig);
      
    }
  
}


Java:
import javax.swing.*;
import java.awt.*;

public class Label extends Fenster {

    JLabel label5, label6;

    public Label() {

        label5 = new JLabel();
        label5 = new JLabel("Vorname");
        label5.setBounds(350, 70, 500, 150);
        label5.setFont(new Font("Arial", Font.BOLD, 18));
        panel.add(label5);

        label6 = new JLabel();
        label6 = new JLabel("Nachname");
        label6.setBounds(350, 120, 500, 150);
        label6.setFont(new Font("Arial", Font.BOLD, 18));
        panel.add(label6);
    }
}
 
Zuletzt bearbeitet von einem Moderator:

LimDul

Top Contributor
Er ist nicht schlecht, er ist schlicht falsch.

Die Vererbung ist falsch. Warum erbt Label von Fenster? Vererbung ist immer eine "Is a" Beziehung. Das heißt, bei dir ist ein Label ein Fenster. Das ist aber definitiv nicht der Fall.

Es spricht auch nichts dagegen, dass Fenster in einer Klasse zusammenzubauen. Das kann man z.B. in mehrere Methoden auslagern (erzeugeLabels, erzeugeButtons)
 

Lucoding

Mitglied
Er ist nicht schlecht, er ist schlicht falsch.

Die Vererbung ist falsch. Warum erbt Label von Fenster? Vererbung ist immer eine "Is a" Beziehung. Das heißt, bei dir ist ein Label ein Fenster. Das ist aber definitiv nicht der Fall.

Es spricht auch nichts dagegen, dass Fenster in einer Klasse zusammenzubauen. Das kann man z.B. in mehrere Methoden auslagern (erzeugeLabels, erzeugeButtons)
Danke für die Antwort, werde das mit der Vererbung anpassen.
 

Lucoding

Mitglied
Womöglich ist es besser, euch den erste Code (welcher in einer Klasse ist) zu zeigen.
Teilt man diesen Code nicht irgendwie auf, sodass er strukturierter ist und sich nicht alles in einer Klasse befindet? Beispielsweise habe ich etwas über das Model-View-Controller gelesen. Ist das das Verfahren, was man für eine bessere Übersicht des Programms nimmt?

Vielen Dank im Voraus :)


Java:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.Date;

import static javax.swing.JComponent.*;

public class Main implements ActionListener {

    JFrame frame;
    JPanel panel;
    JLabel label, label1, label2, label3, label4, label5, label6, label7;
    JButton buttonKundenSortieren,
            buttonNeuerKunde,
            buttonBestaetigen,
            buttonEinchecken,
            buttonAuschecken,
            buttonFarbig;
    JTextField textfeld1, textfeld2;
    JProgressBar progressBarBestaetigen;
    int i;
    Timer t = new Timer(1000, this);
    Thread thread = new Thread();
    ImageIcon wlan;


    public Main() {

        //FENSTER____________________________________________________________________________________________
        frame = new JFrame();
        panel = new JPanel();
        panel.setBorder(BorderFactory.createEmptyBorder(30, 30, 10, 30));
        panel.setLayout(null);
        frame.add(panel, BorderLayout.CENTER);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setTitle("Managementsystem - GUI");
        frame.pack();
        frame.setVisible(true);
        frame.setSize(1500, 700);
        frame.setLocationRelativeTo(null);
        setDefaultLocale(null);

        //ZEITAUSGABE_______________________________________________________________________________________
        Date date = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
        String formattedDate = sdf.format(date);
        label4 = new JLabel();
        label4 = new JLabel(formattedDate);
        panel.add(label4);

        //BUTTON_____________________________________________________________________________________________
        buttonKundenSortieren = new JButton("Kunden sortieren");
        buttonKundenSortieren.setBounds(50, 50, 250, 50);
        buttonKundenSortieren.setFont(new Font("Arial", Font.BOLD, 20));
        panel.add(buttonKundenSortieren);
        
        buttonNeuerKunde = new JButton("neuen Kunden anlegen");
        buttonNeuerKunde.setSize(100, 100);
        buttonNeuerKunde.setBounds(350, 50, 320, 50);
        buttonNeuerKunde.setFont(new Font("Arial", Font.BOLD, 20));
        panel.add(buttonNeuerKunde);
        
        buttonBestaetigen = new JButton("bestätigen");
        buttonBestaetigen.setSize(100, 100);
        buttonBestaetigen.setBounds(470, 230, 200, 40);
        buttonBestaetigen.setFont(new Font("Arial", Font.BOLD, 20));
        panel.add(buttonBestaetigen);
        
        buttonBestaetigen.addActionListener(this);
        buttonBestaetigen.setActionCommand("bestätigen");
        
        buttonEinchecken = new JButton("einchecken");
        buttonEinchecken.setSize(100, 100);
        buttonEinchecken.setBounds(800, 50, 200, 50);
        buttonEinchecken.setFont(new Font("Arial", Font.BOLD, 20));
        panel.add(buttonEinchecken);
        buttonEinchecken.addActionListener(this);
        buttonEinchecken.setActionCommand("einchecken");
        
        buttonAuschecken = new JButton("auschecken");
        buttonAuschecken.setSize(100, 100);
        buttonAuschecken.setBounds(1020, 50, 200, 50);
        buttonAuschecken.setFont(new Font("Arial", Font.BOLD, 20));
        panel.add(buttonAuschecken);
        buttonAuschecken.addActionListener(this);
        buttonAuschecken.setActionCommand("auschecken");
        
        buttonFarbig = new JButton("");
        buttonFarbig.setSize(100, 100);
        buttonFarbig.setBounds(920, 150, 200, 50);
        panel.add(buttonFarbig);

        //KUNDEN____________________________________________________________________________________________
        Kunden[] kunden = new Kunden[3];
        kunden[0] = new Kunden("Günter", "Friedrich", 45, 40, 2);
        kunden[1] = new Kunden("Jörg", "Seibert", 60, 17, 3);
        kunden[2] = new Kunden("Hans", "Ulrich", 70, 24, 0);

        //LABEL____________________________________________________________________________________
        label3 = new JLabel();
        label3 = new JLabel("Kunden aktuell: ");
        label3.setBounds(50, 70, 200, 150);
        label3.setFont(new Font("Arial", Font.BOLD, 20));
        panel.add(label3);
        
        label = new JLabel();
        label = new JLabel(kunden[0].toString());
        label.setBounds(50, 100, 500, 150);
        label.setFont(new Font("Arial", Font.BOLD, 15));
        panel.add(label);
        
        label1 = new JLabel();
        label1 = new JLabel(kunden[1].toString());
        label1.setBounds(50, 130, 500, 150);
        label1.setFont(new Font("Arial", Font.BOLD, 15));
        panel.add(label1);
        
        label2 = new JLabel();
        label2 = new JLabel(kunden[2].toString());
        label2.setBounds(50, 160, 500, 150);
        label2.setFont(new Font("Arial", Font.BOLD, 15));
        panel.add(label2);
        
        label7 = new JLabel();
        label7 = new JLabel("Kunden neu: ");
        label7.setBounds(50, 200, 200, 150);
        label7.setFont(new Font("Arial", Font.BOLD, 20));
        panel.add(label7);

        //LABEL NEUEN KUNDEN ANLEGEN________________________________________________________________________
        label5 = new JLabel();
        label5 = new JLabel("Vorname");
        label5.setBounds(350, 70, 500, 150);
        label5.setFont(new Font("Arial", Font.BOLD, 18));
        panel.add(label5);
      
        label6 = new JLabel();
        label6 = new JLabel("Nachname");
        label6.setBounds(350, 120, 500, 150);
        label6.setFont(new Font("Arial", Font.BOLD, 18));
        panel.add(label6);
        
        //TEXTFELD NEUEN KUNDEN ANLEGEN____________________________________________________________________
        textfeld1 = new JTextField();
        textfeld1.setBounds(470, 130, 200, 30);
        textfeld1.setFont(new Font("Arial", Font.BOLD, 15));
        panel.add(textfeld1);
        
        textfeld2 = new JTextField();
        textfeld2.setBounds(470, 180, 200, 30);
        textfeld2.setFont(new Font("Arial", Font.BOLD, 15));
        panel.add(textfeld2);

        //JPROGRESSBAR____________________________________________________________________________________
        progressBarBestaetigen = new JProgressBar(0, 100);
        progressBarBestaetigen.setSize(100, 100);
        progressBarBestaetigen.setBounds(470, 350, 200, 40);
        progressBarBestaetigen.setStringPainted(true);
        //progressBarBestaetigen.setString("Kunde wird angelegt...");
        progressBarBestaetigen.setFont(new Font("Arial", Font.BOLD, 15));
        panel.add(progressBarBestaetigen);

        //FOTO_____________________________________________________________________________________________
        wlan = new ImageIcon(getClass().getResource("wlan64x64.png"));
        JLabel lab = new JLabel(wlan);
        lab.setBounds(1350, 2, 150, 150);
        panel.add(lab);

    }
    
    @Override
    public void actionPerformed(ActionEvent e) {

        //Buttons ein- und auschecken
        if ("einchecken".equals(e.getActionCommand())) {
            buttonFarbig.setBackground(Color.GREEN);
        }
        if ("auschecken".equals(e.getActionCommand())) {
            buttonFarbig.setBackground(Color.RED);
        }
        


        //ProgressBar - mit Button bestätigen
        new Thread() {
            public void run() {

                if ("bestätigen".equals(e.getActionCommand())) {
                    while (i <= 100) {
                        try {
                            progressBarBestaetigen.setValue(i);
                            i++;
                            thread.sleep(25);
                        } catch (InterruptedException ex) {
                            ex.printStackTrace();
                        }

                        if (i == 100) {
                            System.out.println("Kunde wurde angelegt");
                        }
                    }
                }
            }

        }.start();
    }
    
    public static void main(String[] args) {
        new Main();
    }

}
 

Bela B.

Aktives Mitglied
Kenne mich zwar mit Swing nicht (mehr) aus, aber prinzipiell löst man das mittels MVC oder einem anderen Pattern wie z.B. MVVM.
Für einen ersten, kleinen Einblick in MVC mit Swing findest du z.B. hier etwas, wobei das Internet da voll von Tutorials sein sollte.

Ziel sollte zumindest sein, die Abhängigkeiten der einzelnen Bestandteile (also Model, View, Controller) soweit es geht getrennt zu halten. Der große Nutzen ist neben mehr Übersichtlichkeit und klarere Zuständigkeiten auch, dass man die View dann ziemlich einfach austauschen kann.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Kommunikation zwischen Zwei GUI-Klassen AWT, Swing, JavaFX & SWT 2
M Kommunikation zwischen zwei Stages AWT, Swing, JavaFX & SWT 0
D Swing Kommunikation zwischen zwei GUI's AWT, Swing, JavaFX & SWT 2
B Kommunikation zwischen zwei Fenstern und vorübergehende Speicherung der Eingaben AWT, Swing, JavaFX & SWT 4
R Swing Kommunikation zwischen Panels AWT, Swing, JavaFX & SWT 2
L Swing Kommunikation zwischen JMenuBar und anderen Componenten AWT, Swing, JavaFX & SWT 2
T Kommunikation zwischen zwei jFrames AWT, Swing, JavaFX & SWT 4
J Programmierstil: Kommunikation Listener und GUI AWT, Swing, JavaFX & SWT 3
F Event Handling Kommunikation eines JButton ueber JPanels hinaus AWT, Swing, JavaFX & SWT 6
B 2 Klassen Kommunikation AWT, Swing, JavaFX & SWT 4
J Applet Kommunikation unter Applets AWT, Swing, JavaFX & SWT 2
C Kommunikation SWING - Algorithmus AWT, Swing, JavaFX & SWT 4
M JavaFX Abstand zwischen AnchorPane und Labels in dem HBox halten AWT, Swing, JavaFX & SWT 1
U 2dgraphics unterschied zwischen .scale und AffineTransform.getScaleInstance AWT, Swing, JavaFX & SWT 4
S JavaFX Fehler zwischen View und Controller bei MouseEvent (MVC) AWT, Swing, JavaFX & SWT 13
missy72 JavaFX TableView Spalte zwischen den Zeilen AWT, Swing, JavaFX & SWT 5
Z Swing Kann man denn abstand zwischen zwei Buttons berechnen AWT, Swing, JavaFX & SWT 5
T JavaFX - Datenübergabe zwischen Scenes AWT, Swing, JavaFX & SWT 8
S JavaFX Unterschiede zwischen Scene Builder 2.0 und der ausgeführten App AWT, Swing, JavaFX & SWT 17
Informatiknoob AWT Zahlenraten (eine Zahl zwischen 1 und 10) AWT, Swing, JavaFX & SWT 1
ralfb1105 JavaFX Daten zwischen Controllern austauschen- neue Frage AWT, Swing, JavaFX & SWT 7
ralfb1105 JavaFX Daten zwischen Controller "austauschen" AWT, Swing, JavaFX & SWT 65
L Wörter zwischen zwei Grenzen einlesen. AWT, Swing, JavaFX & SWT 13
P Zwischen verschiedenen Panels wechseln AWT, Swing, JavaFX & SWT 3
M Schnittpunkte zwischen zwei Graphics2D Elemente ermitteln. AWT, Swing, JavaFX & SWT 5
O Focus zwischen Chat und Spiel wechselns AWT, Swing, JavaFX & SWT 3
Z Swing Drag&Drop zwischen JTable und JTree AWT, Swing, JavaFX & SWT 4
Arif AWT Unterschied zwischen RED und red AWT, Swing, JavaFX & SWT 4
L JavaFX Verbindung zwischen Beschreibung und Listener (Codebehind Klasse) AWT, Swing, JavaFX & SWT 4
D Zwischen Null-Layouts wechseln AWT, Swing, JavaFX & SWT 2
K Wie kann ich eine Variable zwischen Tab Klassen weitergeben ? AWT, Swing, JavaFX & SWT 7
S JavaFX (Best Practise) Daten zwischen Controllern austauschen AWT, Swing, JavaFX & SWT 1
P 2D-Grafik Bogen(Arc) zwischen zwei Punkten zeichnen AWT, Swing, JavaFX & SWT 2
P Drag & Drop zwischen Panels AWT, Swing, JavaFX & SWT 0
N Swing CardLayout: Problem beim Wechsel zwischen den JPanels AWT, Swing, JavaFX & SWT 3
B Vertikale Größenänderung zwischen zwei Widgets AWT, Swing, JavaFX & SWT 2
T Swing Kompatibilitätsproblem zwischen Swing und JavaFX AWT, Swing, JavaFX & SWT 4
S Verzögerung zwischen Cursorbewegung einbauen AWT, Swing, JavaFX & SWT 1
3 Swing Vertikaler Separator zwischen JMenu's AWT, Swing, JavaFX & SWT 2
D JGridLayout zwischen Zeilen bestimmter Abstand AWT, Swing, JavaFX & SWT 3
S Unterschied zwischen id und fx:id AWT, Swing, JavaFX & SWT 5
F Swing JAVA GUI Übergabe von Werten zwischen mehreren Fenstern/Klassen AWT, Swing, JavaFX & SWT 10
B Datenübergabe zwischen Tabs und Daten speichern AWT, Swing, JavaFX & SWT 2
B Linie zwischen 2 Elementen AWT, Swing, JavaFX & SWT 5
D animierte kameraansicht zwischen gezeichneten objekten AWT, Swing, JavaFX & SWT 4
B Swing JMenu zwischen anderen Componenten AWT, Swing, JavaFX & SWT 4
F Swing Ladebildschirm zwischen zwei SWING Frames AWT, Swing, JavaFX & SWT 11
T JTabbedPane - neuen Tab zwischen zwei anderen Tabs hinzufügen AWT, Swing, JavaFX & SWT 2
GUI-Programmer JWindow zwischen den Desktopbild und Dektopverknüpfungen AWT, Swing, JavaFX & SWT 16
Psypsy Swing SwingWorker unterschied zwischen setProgress und process AWT, Swing, JavaFX & SWT 2
propra Schnittpunkt zwischen Objekt und Kante finden AWT, Swing, JavaFX & SWT 24
H Swing Wechsel zwischen Frames AWT, Swing, JavaFX & SWT 6
S Swing Zwischenräume zwischen JPanels AWT, Swing, JavaFX & SWT 4
A Daten umherschieben zwischen zwei Klassen AWT, Swing, JavaFX & SWT 40
X zwischen 2 JPanels "elegant" wechseln AWT, Swing, JavaFX & SWT 3
B LayoutManager Positionierung zwischen zwei Layoutkomponenten AWT, Swing, JavaFX & SWT 2
N Swing DnD zwischen zwei JTrees AWT, Swing, JavaFX & SWT 2
G Unterschiedliche Pfadangabe zu Icons zwischen JApplet und JWindow? AWT, Swing, JavaFX & SWT 2
D JTabel: Überschrift, Abstand zwischen Tabellen, Spalten-Farbe ändern AWT, Swing, JavaFX & SWT 2
G Swing MigLayout: Lücken zwischen Elementen entfernen AWT, Swing, JavaFX & SWT 2
F Variablen zwischen Frames AWT, Swing, JavaFX & SWT 5
V Swing JLabel zwischen 2 JPanel hin- und herbewegen. AWT, Swing, JavaFX & SWT 12
E Drag&Drop zwischen 2 Listen AWT, Swing, JavaFX & SWT 5
M SWT DND zwischen zwei TreViewern in beide Richtungen AWT, Swing, JavaFX & SWT 10
buntuswalus Swing Datentransfer zwischen JPanels AWT, Swing, JavaFX & SWT 18
P Swing Beziehungen zwischen 3 Klassen AWT, Swing, JavaFX & SWT 4
S Schnittstelle zwischen Haupt und Nebenfenster AWT, Swing, JavaFX & SWT 17
algorismi Unterscheiden zwischen zwei JLists AWT, Swing, JavaFX & SWT 5
F JCombobox zwischen setEditable true und false switchen AWT, Swing, JavaFX & SWT 2
I Swing JPanel Tab zwischen GUI Elementen AWT, Swing, JavaFX & SWT 6
data89 Verbindungslinien zwischen Formen auf einer "Zeichenfläche" AWT, Swing, JavaFX & SWT 2
DeeDee0815 SWT Text Widget: Zwischen Single und Password umschalten AWT, Swing, JavaFX & SWT 3
J Unterschied zwischen SwingWorker und Threads AWT, Swing, JavaFX & SWT 4
G Variblenwert zwischen zwei Klassen übergeben AWT, Swing, JavaFX & SWT 3
G Gap zwischen JButton-Rand und JButton-Icon verändern AWT, Swing, JavaFX & SWT 2
T GridLayout, zu wenig Platz zwischen Widgets AWT, Swing, JavaFX & SWT 3
S Abstand zwischen Labeln auf 0 setzen AWT, Swing, JavaFX & SWT 6
J Unterschied zwischen nicht-statischen und statischen Klassen AWT, Swing, JavaFX & SWT 5
G Datenaustausch zwischen zwei JFrames AWT, Swing, JavaFX & SWT 3
O Zwischen mehreren Bildern wechseln AWT, Swing, JavaFX & SWT 6
T JTextField, der nur Werte zwischen 100 und 1000 zulässt AWT, Swing, JavaFX & SWT 28
M Linie zwischen JComponents AWT, Swing, JavaFX & SWT 5
G Abstand zwischen den Buttons in einer Toolbar AWT, Swing, JavaFX & SWT 3
G Drag&Drop zwischen JTables AWT, Swing, JavaFX & SWT 2
P Unterscheiden zwischen Mautasten-Druck? AWT, Swing, JavaFX & SWT 3
B Abstand zwischen einzelnen Elementen einstellen AWT, Swing, JavaFX & SWT 2
I Drag and Drop zwischen zwei JTables AWT, Swing, JavaFX & SWT 5
N JTable Abstand zwischen einzelnen Spalten AWT, Swing, JavaFX & SWT 6
K JFreeChart: Platz zwischen Balken AWT, Swing, JavaFX & SWT 3
G Zwischen Panels in einem JFrame wechseln AWT, Swing, JavaFX & SWT 4
M Unterschied zwischen paintComponent() und paint()? AWT, Swing, JavaFX & SWT 4
R Navigieren zwischen mehreren Fenstern AWT, Swing, JavaFX & SWT 7
F Wie gebe ich Parameter zwischen Actions weiter? AWT, Swing, JavaFX & SWT 2
K abstände zwischen Panels? AWT, Swing, JavaFX & SWT 3
M Freiraum zwischen Knoten im JTree AWT, Swing, JavaFX & SWT 14
M Parameterübergabe zwischen Frames AWT, Swing, JavaFX & SWT 2
P in JFrame zwischen verschiedenen JPanels wechseln AWT, Swing, JavaFX & SWT 7
M Breite veraendern zwischen 2 JPanels AWT, Swing, JavaFX & SWT 2
J Separator zwischen den einzelnen Symbolen in der Toolbar AWT, Swing, JavaFX & SWT 4
A Button zwischen zwei Panels verschieben. AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen

Neue Themen


Oben