public class GUI extends JFrame implements ActionListener {
...//some global variables
public GUI ()
{
super("Closest Word Automaton");
this.setSize(1000, 640);
this.setVisible(true);
this.setResizable(false);
this.setLocationRelativeTo(null);
this.setLayout(new CardLayout());
initArray();
JTabbedPane tabs = new JTabbedPane();
tabs.add("Edit View", createEditView());
tabs.add("Automaton View", createAutomatonView());
tabs.add("Levenshtein Distance Calculator", createLevCalculator());
this.add(tabs);
addListener();
}
У меня странная проблема с моим JFrame, когда я запускаю программу в Eclipse, графический интерфейс появляется следующим образом: http://i.imgur.com/hNtucMo.jpg, который не должен происходить, поскольку он должен выглядеть так: http://i.imgur.com/ph0TV3C.jpg однако проблема устраняется после минимизации и восстановления окна Jframe. Почему это происходит и как я могу его исправить, чтобы правильно отобразить GUI сразу после запуска программы?
(Проблема также возникает и на других компьютерах)
После добавления всех ваших компонентов установите свой кадр в видимый.
public class GUI extends JFrame implements ActionListener {
...//some global variables
public GUI ()
{
super("Closest Word Automaton");
this.setSize(1000, 640);
this.setResizable(false);
this.setLocationRelativeTo(null);
this.setLayout(new CardLayout());
initArray();
JTabbedPane tabs = new JTabbedPane();
tabs.add("Edit View", createEditView());
tabs.add("Automaton View", createAutomatonView());
tabs.add("Levenshtein Distance Calculator", createLevCalculator());
this.add(tabs);
this.pack();
this.setVisible(true); //setVisible to true after adding components
addListener();
}
Заметьте, что я назвал this.pack()
. Это приведет к правильной настройке размера JFrame и, следовательно, правильному размеру его дочерних компонентов, поэтому, когда вы setVisible(true)
оно будет отображаться правильно.
pack()
до того, как он станет видимым. Для более быстрой помощи опубликуйте MCVE ( пример минимальной полной проверки ) или SSCCE (короткий, автономный, правильный пример).