ich habe ein mini Programm gestalltet.
kurze Beschreibung:
eine Frame mit BorderLayout versehen
Button in BorderLayout.NORTH
wenn man auf diesem Button Klickt, kommt der Inhalt in BorderLayout.CENTER, in diesem Fall eine einfache JLabel mit kurzem Text.
Alles läuft aber das problem liegt daran, dass wenn der FRAME mit der normalen Größe (400*400) ist, ist die JLabel nicht angezeigt, aber wenn man das Fenster des Programms vergrößert, dann sieht man die JLabel teilweise.
hier ist der Code:
hier das Fenester min normaler/originaler Größe (400*400) und der Button schon geklickt:

und hier das vergrößerte Fenster:

was ist falsch?
kurze Beschreibung:
eine Frame mit BorderLayout versehen
Button in BorderLayout.NORTH
wenn man auf diesem Button Klickt, kommt der Inhalt in BorderLayout.CENTER, in diesem Fall eine einfache JLabel mit kurzem Text.
Alles läuft aber das problem liegt daran, dass wenn der FRAME mit der normalen Größe (400*400) ist, ist die JLabel nicht angezeigt, aber wenn man das Fenster des Programms vergrößert, dann sieht man die JLabel teilweise.
hier ist der Code:
Java:
package com.tutorial;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class MainwithBorderlayout implements ActionListener{
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
final JFrame frame = new JFrame();
frame.setLayout(new BorderLayout());
final JButton bt = new JButton();
bt.setText("click");
JPanel paneltop = new JPanel();
JPanel panelcenter = new JPanel();
JPanel panelleft = new JPanel();
JLabel label1 = new JLabel("pressed");
final JPanel panel2 = new JPanel();
panel2.add(label1);
paneltop.add(bt);
panelleft.setBackground(Color.RED);
panelcenter.setBackground(Color.BLUE);
frame.add(paneltop,BorderLayout.NORTH);
frame.add(panelleft, BorderLayout.WEST);
frame.add(panelcenter, BorderLayout.CENTER);
frame.setSize(400,400);
frame.setVisible(true);
bt.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource() == bt){
frame.getContentPane().add(panel2, BorderLayout.CENTER);
}
}});
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
}
hier das Fenester min normaler/originaler Größe (400*400) und der Button schon geklickt:

und hier das vergrößerte Fenster:

was ist falsch?