Мне любопытно, есть ли способ изменить размер окна из JPanel
объекта. Я ищу решение на некоторое время. Может быть, мне чего-то не хватает?
Я хочу изменить размер окна при использовании метода changeSize()
(например, кнопка, я удалил код лота).
Я пробовал разные методы, такие как setSize
, setPreferredSize
и setBorders
.
public class MAIN{
public static void main(String[] args) {
new Okno(new Panel_Saper());
}
}
public class Okno extends JFrame{
protected Okno(Panel panel) {
setResizable(true);
getContentPane();
Container cp = getContentPane();
cp.add(panel);
pack();
setDefaultCloseOperation(panel.getClose());//2 - JFrame.DISPOSE_ON_CLOSE, 3 - JFrame.EXIT_ON_CLOSE
setVisible(true);
}
}
public abstract class Panel extends JPanel {
protected int getClose() {return 2;} //2 - JFrame.DISPOSE_ON_CLOSE
}//needed for override in other place
public class Panel_Saper extends Panel {
Panel_Saper() {
setLayout(null);
setPreferredSize(new Dimension(400,400));
}
public void changeSize() {//DOESN'T WORK
SetSize(new Dimension(600,600));
setBounds(0, 0, 600, 600);
repaint();
}
}