Java (GUI) Code verdoppeln oder anzeige mehrmals anzeigen?

mumii3027

Mitglied
Ich will meinen Code so verdoppeln das er es wie auf dem 2 Bild anzeigt weiss aber nicht wie das erste bild ist so wie der code Jetzt ist.
Test1.PNG
Test2.PNG
Code:

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

public class TEPLA extends JFrame implements ActionListener {


   JLabel Test1 = new JLabel("Testreihe 1 ");
   JLabel Portangabe = new JLabel("Portangabe  ");

   String[] dropDownValuesFixed = { "Value A", "Value B", "Value C", "Value D", "Value E" };
   JComboBox dropDown1 = new JComboBox(dropDownValuesFixed);

   JTextField Port = new JTextField(7);

   JButton enter = new JButton("Bestätigen");

   JPanel Test1Panel = new JPanel();
   JPanel PortPanel = new JPanel();

   JPanel enterPanel = new JPanel();


   public TEPLA() {
       setTitle("(JAVA GUI) Tepla");

       setLayout(new FlowLayout());


       Test1Panel.add(Test1);
       Test1Panel.add(dropDown1, BorderLayout.CENTER);
       PortPanel.add(Portangabe);
       PortPanel.add(Port);



       enterPanel.add(enter);


       add(Test1Panel);
       add(PortPanel);

       add(enter);
       add(enterPanel);

       setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       enter.addActionListener(this);
   }


   @Override
   public void actionPerformed(ActionEvent e) {

       JFrame meinJFrame = new JFrame();
       meinJFrame.setTitle("TEPLA");
       meinJFrame.setSize(750, 600);
       JPanel panel = new JPanel();
       panel.setBackground(Color.gray);



   }


}
zum ausführen:
Java:
import java.awt.* ;
import java.awt.event.*;
import javax.swing.*;

public class Demo
{
   public static void main ( String[] args )
   {
       TEPLA fatApp  = new TEPLA() ;
       fatApp.setSize( 400, 600 );
       fatApp.setResizable( true );
       fatApp.setVisible( true );
   }
}
 
Zuletzt bearbeitet von einem Moderator:
Vorab: Code bitte in Code-Tags. (siehe meine Signatur oder im Editor 4. Button von Rechts "Einfügen"--> "Code")

Überleg dir vorher wie du deine GUI-Elemente aufteilen möchtest, mal es dir eventuell auf .. dann macht es das beim Programmieren leichter.
Du willst den Teil, den du schon hast noch mal anzeigen lassen. Die 5 Komponenten (Button, 2x Label, Combobox und Textfeld) hast du ja schon in ein JPanel gepackt und deinem JFrame hinzugefügt und genau das musst du jetzt noch einmal machen. Erstell dir weitere 5 Komponenten, dazu ein neues JPanel und füg dieses JPanel auch deinem JFrame hinzu.
Grob skizziert könnte das dann so aussehen:
Code:
JFrame [LayoutManager: e.g. BoxLayout PAGE_AXIS]
---JPanel [LayoutManager: e.g. FlowLayout]
-------Label
-------Combobox
-------Label
-------Textfield
-------Button
---JPanel [LayoutManager: e.g. FlowLayout]
-------Label
-------Combobox
-------Label
-------Textfield
-------Button
 
Steht doch im Prinzip schon alles da. Du musst doch nur noch die einzelnen Komponenten erstellen und zusammenfügen🙄
 
Steht doch im Prinzip schon alles da. Du musst doch nur noch die einzelnen Komponenten erstellen und zusammenfügen🙄

Ich habe dies nun verdoppelt doch die Ausrichtung ist schrecklich was kann ich dagegen tun

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

public class TEPLA extends JFrame implements ActionListener {

    JLabel Test1 = new JLabel("Testreihe 1 ");
    JLabel Portangabe = new JLabel("Portangabe  ");

    String[] dropDownValuesFixed = { "Value A", "Value B", "Value C", "Value D", "Value E" };
    JComboBox dropDown1 = new JComboBox(dropDownValuesFixed);

    JTextField Port = new JTextField(7);

    JButton enter = new JButton("Bestätigen");

    JPanel Test1Panel = new JPanel();
    JPanel PortPanel = new JPanel();

    JPanel enterPanel = new JPanel();

    //test----------------------------------------------------------------------------------------------
    JLabel Test2 = new JLabel("Testreihe 2 ");
    JLabel Portangabe2 = new JLabel("Portangabe2  ");

    String[] dropDownValuesFixed2 = { "Value A", "Value B", "Value C", "Value D", "Value E" };
    JComboBox dropDown2 = new JComboBox(dropDownValuesFixed2);

    JTextField Port2 = new JTextField(7);

    JButton enter2 = new JButton("Bestätigen");
    JPanel Test2Panel = new JPanel();
    JPanel PortPanel2 = new JPanel();

    JPanel enterPanel2 = new JPanel();

    public TEPLA() {
        setTitle("(JAVA GUI) Tepla");

        setLayout(new FlowLayout());

        Test1Panel.add(Test1);
        Test1Panel.add(Test2);
        Test1Panel.add(dropDown1, BorderLayout.CENTER);
        Test1Panel.add(dropDown2, BorderLayout.CENTER);
        PortPanel.add(Portangabe);
        PortPanel.add(Portangabe2);
        PortPanel.add(Port);
        PortPanel.add(Port2);

       

        enterPanel.add(enter);
        enterPanel.add(enter2);

        enterPanel2.add(enter);
        enterPanel2.add(enter2);

        add(Test1Panel);
        add(PortPanel);

        add(enter);
        add(enter2);
        add(enterPanel);
        add(enterPanel2);

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        enter.addActionListener(this);
    }


    @Override
    public void actionPerformed(ActionEvent e) {

        JFrame meinJFrame = new JFrame();
        meinJFrame.setTitle("TEPLA");
        meinJFrame.setSize(750, 600);
        JPanel panel = new JPanel();
        panel.setBackground(Color.gray);

    }
}
 
Zuletzt bearbeitet von einem Moderator:
Ich will meinen Code so verdoppeln
Einen JPanel bauen der so aussieht wie Du Dir das so vorstellst. Und den dann so oft Du willst erzeugen. 😉
z.B. 3 x den dann in einen Container packen. Wenn Du FlowLayout verwendest musst Du die Größen so wählen, dass der automatische Zeilenumbruch das gewünschte Bild erzeugt.

Java:
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.BevelBorder;

@SuppressWarnings("serial")
public class Tepla extends JPanel {
    private JLabel testLabel = new JLabel("Testreihe 1 ");
    private JLabel portLabel = new JLabel("Portangabe  ");
    private static String[] dropDownValuesFixed = { "Value A", "Value B", "Value C", "Value D", "Value E" };
    private JComboBox<String> selectCombo = new JComboBox<String>(dropDownValuesFixed);
    private JTextField inputPort = new JTextField(7);
    private JButton enter = new JButton("Bestätigen");

    public Tepla(int width, int height) {
        setPreferredSize(new Dimension(width, height));
        setBorder(new BevelBorder(BevelBorder.RAISED));
        setLayout(new FlowLayout());
        add(testLabel);
        add(selectCombo, BorderLayout.CENTER);
        add(portLabel);
        add(inputPort);
        add(enter);
    }
}
Java:
import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class start {
    public static void main(String[] args) {
        int widthTelpa = 400;
        int heightTelpa = 85;
        JFrame frame = new JFrame("TEPLA");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JPanel container = new JPanel();
        container.setLayout(new FlowLayout());
        container.setPreferredSize(new Dimension(widthTelpa+10, (heightTelpa + 10) * 3));
        container.add(new Tepla(widthTelpa, heightTelpa));
        container.add(new Tepla(widthTelpa, heightTelpa));
        container.add(new Tepla(widthTelpa, heightTelpa));
        frame.add(container);
        frame.pack();
        frame.setVisible(true);
    }
}

🙄
 

Zurück
Oben