Сохранить состояние кнопок (включено или отключено), текстовых полей и выбранных элементов JComboBox в Netbeans Java?

У меня есть 2 формы в Netbeans, 1 форма запустится, и пользователь будет вводить информацию. Затем, если пользователь захочет, откроет другой jframe. Jframe, над которым работал пользователь, закроется. Теперь из только что открытого jframe пользователь решает вернуться к предыдущему кадру. Проблема заключается в том, что когда пользователь решает вернуться к предыдущему фрейму, текст в текстовых полях исчез, кнопки, которые были включены, отключены, а выбор поля со списком сбрасывается. Кто-нибудь знает, как я могу сохранить состояние всех этих элементов? Спасибо.


person Navio53    schedule 30.06.2013    source источник


Ответы (2)


Поможет ли что-то вроде этого?

public class MyFrame extends JFrame{

    private JCheckBox box1;

    public MyFrame(){
        box1 = new JCheckBox();     
    }

public void work(){

    if(getbox().isSelected){
    //work
    }else{
    //do else
    }
}

public JCheckBox getbox1(){
    return this.box1;
}

public JCheckBox setSelectedbox1(boolean set){
    getbox1().setSelected(set); 
}

Если вы хотите сохранить этот объект живым, вы можете использовать:

myFrame.setVisible(false)
myFrame.setVisible(true)
person Petro    schedule 30.06.2013
comment
Как я могу сохранить текст в текстовых полях, чтобы при перезагрузке jframe текст все еще мог быть там? - person Navio53; 01.07.2013
comment
сохранить его в строке, когда пользователь нажимает кнопку, например, сохранить: String info = textBox.getText(); Однако, если вы просто используете .setVisible(true/false), он останется, потому что jframe на самом деле не будет «закрываться». Надеюсь, это поможет. - person Petro; 03.07.2013

Приложение обычно должно иметь только один JFrame.

Вероятно, вы можете использовать макет карты, чтобы поменять местами разные панели. Прочтите учебное пособие по Swing на странице Как использовать CardLayout для получения дополнительной информации и пример.

Другие варианты или использовать JTappedPane или JInternalFrames. В учебнике также есть раздел, посвященный этим компонентам.

person camickr    schedule 30.06.2013