Java JPanel .updateUI() 删除我的 setBound 数据

问题描述

我在 JPanels 中使用 .updateUI() 时遇到问题,我设置的边界返回认值。

    //Set my Frame
    frame = new JFrame();
    frame.setSize(1600,900);
    frame.setLayout(null);
    frame.setLocationRelativeto(null);
    frame.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);

    //Set Panel
    JPanel menuInput = new JPanel();
    menuInput.setBounds(100,100,500,500);

    //Set Button
    JButton buttonSolve = new JButton();
    buttonSolve.setBounds(30,30,400,200);

    menuInput .add(buttonSolve);
    frame.add(menuInput);
    //If i updateUI,the bound returns to default.
    menuInput.updateUI();

但是,如果我将 menuInput.updateUI 放在 frame.add(menuInput) 之前,它不会影响边界,但是每次输入新数据时我都需要刷新我的面板。

解决方法

我使用 MigLayout,现在设置每个对象的位置没有问题。