【问题标题】:Problem about SpringLayout in java 1.4.2java 1.4.2中关于SpringLayout的问题
【发布时间】:2010-08-10 03:14:48
【问题描述】:
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);
}

我正在使用面板自动调整大小及其父级的效果,而其父级在 java 1.4.2 中调整大小。 我使用 SpringLayout 来执行此操作,但我发现如果我在 WEST 和 NORTH 之后定义 SpringLayout.East 和 SpringLayout.South,则面板 (mainPanel) 将不会定位在 (15,15)。如果在 WEST 和 SOUTH 之前定义了 EAST 和 NORTH,它会这样做。 这是为什么呢?

【问题讨论】:

标签: java swing


【解决方案1】:

正如相关question 中所述,约束规范的顺序可能很重要,特别是如果结果布局是over-constrained。订单WEST, NORTH, EAST, SOUTH 是一个导致重置 的示例,相关bug report 的“解决评估”部分中提到了这一点。

【讨论】:

    猜你喜欢
    • 2019-07-17
    • 1970-01-01
    • 2010-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多