Как изменить размер компонента в JFrame
Предположим, у меня есть JPanel в JFrame. Когда я вызываю метод, который изменяет предпочтительный размер этой JPanel, он не изменяется.
Код выглядит примерно так:
public class SomePanel extends JPanel{
public SomePanel(){
setPreferredSize( new Dimension( 390, 40 ) );
setBackground( Color.BLACK );
}
public void expand(){
setPreferredSize( new Dimension( 390, 200 ) );
}
public static void main( String args[] ){
JFrame frame = new JFrame();
frame.setSize( 450, 500 );
frame.setLayout( new FlowLayout() );
SomePanel somePanel = new SomePanel();
frame.add( somePanel );
frame.setVisible( true );
somePanel.expand();
}
}
Есть ли что-то, что я должен сделать в первую очередь? Я пытался проверить размер JPanel при вызове expand (). Высота JPanel до и после установки предпочтительного размера остается равной 40.
Я также попытался использовать переменную Dimension, и это тоже не сработало.
Dimension dimension;
public SomePanel(){
dimension = new Dimension( 390, 40 );
...
}
public expand(){
dimension.setSize( 390, 200 );
setPreferredSize( dimension );
}