изменение размера JPanel во время выполнения, Java - PullRequest
0 голосов
/ 04 марта 2012

возможно ли изменить размер (длину и ширину) JPanel во время выполнения? У меня есть JFrame, внутри него у меня есть JPanel (внутри jscrollPane) и JButton. При нажатии на кнопку JButton я хочу, чтобы размер JPanel менялся, принимая случайные значения длины и ширины. Для этого я использовал следующее как actionListener для JButton:

 public void actionPerformed(ActionEvent actionEvent) {

        jPanel1.repaint(); 
        jPanel1.revalidate();       

 }

и я попытался установить предпочтительный размер jPanel в методе paintComponent (), принимая случайные значения для его измерения, но это не сработало. Любая помощь будет оценена.

Ответы [ 2 ]

0 голосов
/ 25 сентября 2013

У меня это работает:

        getContentPane().remove( panel1);
        getContentPane().repaint();
        getContentPane().add(panel1);
        panel1.setBounds(0, 48, 100, 100);
        getContentPane().repaint();
0 голосов
/ 06 марта 2012

То, что я сделал, установило предпочтительный размер и затем сделало его недействительным.

panel.setPreferredSize(sizes.getCurrentScrollableDrawingPanel());
panel.invalidate();

Затем вы перерисовываете родителя.

scrollPane.repaint();
...