问题描述
我在 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,现在设置每个对象的位置没有问题。