是否可以在运行时更改JPanel的大小(长度和宽度)? 我有一个JFrame,里面有一个JPanel(放在一个jscrollPane中)和一个JButton。当按下JButton时,我希望JPanel的大小改变为长度和宽度的随机值。 为此,我使用以下作为JButton的actionListener:
public void actionPerformed(ActionEvent actionEvent) {
jPanel1.repaint();
jPanel1.revalidate();
}
我尝试在paintComponent()方法中设置jPanel的首选大小,为其维度设置随机值,但这不起作用。任何帮助将不胜感激。
答案 0 :(得分:0)
我所做的是设置首选大小然后无效。
panel.setPreferredSize(sizes.getCurrentScrollableDrawingPanel());
panel.invalidate();
然后重新绘制父母。
scrollPane.repaint();
答案 1 :(得分:0)
对我来说,它有效:
getContentPane().remove( panel1);
getContentPane().repaint();
getContentPane().add(panel1);
panel1.setBounds(0, 48, 100, 100);
getContentPane().repaint();