Hi,
ich habe zwei Panels geschaffen. Wenn ich das Programm laufen lasse, dann wird das unter (gelbe) Panel mit den Labels1-4 und den Textfeldern 1- 4 angezeigt. Das obere (schwarze) Panel wird nur als schwarzer Block angezeigt. Woran kann das liegen?
Danke
Heiner
ich habe zwei Panels geschaffen. Wenn ich das Programm laufen lasse, dann wird das unter (gelbe) Panel mit den Labels1-4 und den Textfeldern 1- 4 angezeigt. Das obere (schwarze) Panel wird nur als schwarzer Block angezeigt. Woran kann das liegen?
Code:
package Swingfenster;
import java.awt.*;
import javax.swing.*;
public class SubWin extends JFrame
{
public SubWin( int x, int y )
{
setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
setSize( x, y );
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
setLocation( (d.width - getSize().width ) / 2,
(d.height - getSize().height) / 2 );
}
public static void main( String[] args )
{
JFrame win = new SubWin( 700, 700 );
Panel panel1 = new Panel();
panel1.setSize(200,300);
panel1.setBackground(Color.BLACK);
panel1.setLayout(new GridLayout(4,2));
JLabel L1 = new JLabel("Label 1");
JLabel L2 = new JLabel("Label 2");
JLabel L3 = new JLabel("Label 3");
JLabel L4 = new JLabel("Label 4");
L1.setFont(new Font("Serif",Font.BOLD,30));
L1.setForeground(Color.MAGENTA);
L2.setFont(new Font("Serif",Font.BOLD,30));
L2.setForeground(Color.RED);
L3.setFont(new Font("Serif",Font.BOLD,30));
L3.setForeground(Color.MAGENTA);
L4.setFont(new Font("Serif",Font.BOLD,30));
L4.setForeground(Color.RED);
JTextField T1 = new JTextField("Text 1",20);
JTextField T2 = new JTextField("Text 2",20);
JTextField T3 = new JTextField("Text 3",20);
JTextField T4 = new JTextField("Text 4",20);
panel1.add(L1);
panel1.add(T1);
panel1.add(L2);
panel1.add(T2);
panel1.add(L3);
panel1.add(T3);
panel1.add(L4);
panel1.add(T4);
Panel panel2 = new Panel();
panel2.setBackground(Color.YELLOW);
panel2.setLayout(new GridLayout(4,2));
panel2.add(L1);
panel2.add(T1);
panel2.add(L2);
panel2.add(T2);
panel2.add(L3);
panel2.add(T3);
panel2.add(L4);
panel2.add(T4);
win.setLayout(new GridLayout(2,1));
win.add(panel1);
win.add(panel2);
// win.pack();
win.setVisible( true );
}
}
Danke
Heiner