Закрытие Jform в конструкторе
У меня небольшая проблема с кодом. Я просто хочу, чтобы Jform не отображался, если условие не выполняется в части конструктора формы. Снаружи конструктора dispose (), return и setVisible(false) все работают нормально. Я пробовал this.dispose(); и вернуться; и this.setVisible(false); но форма все еще отображается. С System.exit(0); он закрывает полное приложение. Буду очень признателен, если кто-то может мне помочь с этим.
public class OrderGUI extends javax.swing.JFrame {
public OrderGUI(Customer cust, Date dt, Time t) throws FileNotFoundException, IOException, ClassNotFoundException {
this();
if(condition)
{
/////do not initialize the Jform
}else{//// run rest of the code}
}
2 ответа
Решение
Сделать что-то подобное
public class OrderGUI extends javax.swing.JFrame {
public OrderGUI(Customer cust, Date dt, Time t) throws FileNotFoundException, IOException, ClassNotFoundException {
this();
}
@Override
public void setVisible(boolean val){
if(!condition){
super.setVisible(val);
}
}
}
Как указал Субаш, это прекрасно работает.
public class OrderGUI extends javax.swing.JFrame {
public OrderGUI(Customer cust, Date dt, Time t) throws FileNotFoundException, IOException, ClassNotFoundException {
this();
}
@Override
public void setVisible(boolean val){
if(!condition){
super.setVisible(val);
}
}
}