public static void main(String[] args) {
// TODO code application logic here
JFrame frame = new JFrame();
SpringLayout layout = new SpringLayout();
frame.getContentPane().setLayout(layout);
TitledBorder border = null;
border = BorderFactory.createTitledBorder("Group1");
frame.setSize(620, 620);
JPanel mainPanel = new JPanel();
mainPanel.setBorder(border);
//mainPanel.setPreferredSize( new Dimension(600,600));
layout.putConstraint(SpringLayout.EAST, mainPanel, -15, SpringLayout.EAST, frame.getContentPane());
layout.putConstraint(SpringLayout.WEST, mainPanel, 15, SpringLayout.WEST, frame.getContentPane());
layout.putConstraint(SpringLayout.SOUTH, mainPanel, -15, SpringLayout.SOUTH, frame.getContentPane());
layout.putConstraint(SpringLayout.NORTH, mainPanel, 15, SpringLayout.NORTH, frame.getContentPane());
frame.getContentPane().add(mainPanel);
frame.setVisible(true);
}
Ich arbeite an der Wirkung mit einem Panel Auto-Resize zusammen mit seinen Eltern, während seine übergeordnete Größe in Java 1.4.2. Ich habe das SpringLayout verwendet, um dies zu tun, aber ich fand, dass, wenn ich die SpringLayout.East und SpringLayout.South nach dem WEST und NORTH definieren, das Panel (mainPanel) wird nicht auf (15,15). Es wird tun, wenn EAST und NORTH vor WEST und SOUTH definiert sind. Warum ist das so?