Hallo,
ich versuche Panels über ein GridBagLayout anzuordnen, aber egal welche Werte ich eingebe, alle Elemente sind immer gleich groß. Geht das mit Panels überhaupt? Hier der Code:
ich versuche Panels über ein GridBagLayout anzuordnen, aber egal welche Werte ich eingebe, alle Elemente sind immer gleich groß. Geht das mit Panels überhaupt? Hier der Code:
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class OTP extends JFrame implements ActionListener {
//Objekte
JPanel pan1, pan2, pan3, pan4, pan5;
JButton[] but = new JButton[6];
JTextArea[] ta = new JTextArea[3];
JScrollPane[] scp = new JScrollPane[3];
//Konstruktor
public OTP() {
super("One Time Pad");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//JPanel pan1
pan1 = new JPanel();
JLabel lab = new JLabel("One Time Pad-Verschlüsselung");
lab.setFont(new Font("Segoe UI", Font.BOLD, 30));
pan1.add(lab);
//JPanel pan2
pan2 = new JPanel(new GridLayout(1,3));
but[0] = new JButton("Verschlüsseln");
but[1] = new JButton("Schlüssel erzeugen");
but[2] = new JButton("Entschlüsseln");
for (int i=0; i<3; i++) {
but[i].addActionListener(this);
pan2.add(but[i]);
}//Ende for
//JPanel pan3
pan3 = new JPanel(new GridLayout(1,3));
JLabel lab1 = new JLabel("Klartext");
JLabel lab2 = new JLabel("Schlüssel");
JLabel lab3 = new JLabel("Chiffretext");
pan3.add(lab1);
pan3.add(lab2);
pan3.add(lab3);
//JPanel pan4
pan4 = new JPanel(new GridLayout(1,3));
for (int i=0; i<3; i++) {
ta[i] = new JTextArea(5,15);
ta[i].setLineWrap(true);
scp[i] = new JScrollPane(ta[i], ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
pan4.add(scp[i]);
}//Ende for
//JPanel pan5
pan5 = new JPanel(new GridLayout(1,3));
for (int i=3; i<6; i++) {
but[i] = new JButton("Kopieren");
but[i].addActionListener(this);
pan5.add(but[i]);
}//Ende for
//Programm zusammensetzen
setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.weightx=1.0;
c.weighty=1.0;
c.fill = GridBagConstraints.BOTH;
//JPanel pan1
c.gridx=0;
c.gridy=0;
c.gridwidth=1;
c.gridheight=1;
add(pan1,c);
//JPanel pan2
c.gridx=0;
c.gridy=1;
c.gridwidth=1;
c.gridheight=1;
add(pan2,c);
//JPanel pan3
c.gridx=0;
c.gridy=2;
c.gridwidth=1;
c.gridheight=1;
add(pan3,c);
//JPanel pan4
c.gridx=0;
c.gridy=3;
c.gridwidth=1;
c.gridheight=15;
add(pan4,c);
//JPanel pan5
c.gridx=0;
c.gridy=18;
c.gridwidth=1;
c.gridheight=1;
add(pan5,c);
}//Ende Konstruktor
//actionListener
public void actionPerformed(ActionEvent ae) {
Object wer = ae.getSource();
}//Ende actionListener
//Hauptprogramm
public static void main (String[] arg) {
OTP x = new OTP();
x.setBounds(500,200,500,500);
x.setVisible(true);
x.setResizable(true);
}//Ende Hauptprogramm
}//Ende Klasse