Hallo,
ich habe folgendes Problem. Ich habe ein JFrame, in das einige Panels etc. hinein kommen sollen und das Fenster soll eine feste größe haben. Das geht ja einfach mit setResizable(false). Wenn ich diesen befehl aufrufe, wird das Fenster um 10 Pixel vergrößert. Interessanterweise verändert sich nicht die Größte des JFrames, sondern die größe des Contentpanes. Woran liegt das?? und wie kann ich das verhindern??
Hier mal der Code:
Ich danke für Hilfe!!
ich habe folgendes Problem. Ich habe ein JFrame, in das einige Panels etc. hinein kommen sollen und das Fenster soll eine feste größe haben. Das geht ja einfach mit setResizable(false). Wenn ich diesen befehl aufrufe, wird das Fenster um 10 Pixel vergrößert. Interessanterweise verändert sich nicht die Größte des JFrames, sondern die größe des Contentpanes. Woran liegt das?? und wie kann ich das verhindern??
Hier mal der Code:
Java:
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class ResizableTest implements MouseListener{
private JFrame frame;
public ResizableTest() {
frame = new JFrame("Resize Test");
frame.setVisible(true);
Container c = frame.getContentPane();
c.setLayout(new BorderLayout());
JPanel panel1 = new JPanel();
panel1.setPreferredSize(new Dimension(300, 300));
c.add(panel1, BorderLayout.CENTER);
frame.addMouseListener(this);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.requestFocus();
}
@Override
public void mouseClicked(MouseEvent e) {}
@Override
public void mouseEntered(MouseEvent e) {}
@Override
public void mouseExited(MouseEvent e) {}
@Override
public void mousePressed(MouseEvent e) {
System.out.println("start mousePressed");
System.out.println("Frame size: " + frame.getWidth() + "|" + frame.getHeight());
System.out.println("Contentpane size: " + frame.getContentPane().getWidth() + "|" + frame.getContentPane().getHeight());
System.out.println("frame.setResizable(" + !frame.isResizable() + ");");
frame.setResizable(!frame.isResizable());
System.out.println("Frame size: " + frame.getWidth() + "|" + frame.getHeight());
System.out.println("Contentpane size: " + frame.getContentPane().getWidth() + "|" + frame.getContentPane().getHeight());
System.out.println("end mousePressed");
}
@Override
public void mouseReleased(MouseEvent e) {}
public static void main(String[] args) {
new ResizableTest();
}
}
Ich danke für Hilfe!!