Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2019, 16:23   #1
Валера Мороз
 
Регистрация: 07.04.2019
Сообщений: 3
Вопрос JTextField, JCombobox

Помогите. После закрытия программы введенный в JTextField текст не сохраняется и не сохраняется выбранное в выпадающем списке JCombobox значение. Как сделать что бы после закрытия программы все изменения JTextField, JCombobox сохранялись, чтобы человек не вносил все изменения по новой?
Валера Мороз вне форума Ответить с цитированием
Старый 07.04.2019, 19:34   #2
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

Возможно, нужно где-то эти значения сохранять перед выходом из программы. А при запуске приложения, данные подгружаются из этого хранилища.
Хранилищем может служить база данных, текстовый файл и др.
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 07.04.2019, 20:09   #3
Валера Мороз
 
Регистрация: 07.04.2019
Сообщений: 3
По умолчанию

Вы можете привести пример? Заранее благодарен
Валера Мороз вне форума Ответить с цитированием
Старый 07.04.2019, 23:24   #4
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

Давайте посмотрим код вашей программы.
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!

Последний раз редактировалось Bugrimov; 07.04.2019 в 23:28.
Bugrimov вне форума Ответить с цитированием
Старый 08.04.2019, 11:46   #5
ultimatet41
Форумчанин
 
Аватар для ultimatet41
 
Регистрация: 08.04.2012
Сообщений: 104
По умолчанию

Можно использовать Preferences
Код:
// Retrieve the user preference node for the package com.mycompany
Preferences prefs = Preferences.userNodeForPackage(com.mycompany.MyClass.class);

// Preference key name
final String PREF_NAME = "name_of_preference";

// Set the value of the preference
String newValue = "a string";
prefs.put(PREF_NAME, newValue);

// Get the value of the preference;
// default value is returned if the preference does not exist
String defaultValue = "default string";
String propertyValue = prefs.get(PREF_NAME, defaultValue); // "a string"
ultimatet41 вне форума Ответить с цитированием
Старый 11.04.2019, 21:43   #6
Валера Мороз
 
Регистрация: 07.04.2019
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Bugrimov Посмотреть сообщение
Давайте посмотрим код вашей программы.
Код:
package mine;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Toolkit;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;


public class Mine{
     static JFrame frame;
     static JTextField username; 
     static JPanel panel;
     static JButton button;
     static FileWriter filewriter;
     static FileReader filereader;
     static BufferedWriter bufferedwriter;
     static JCheckBox box;
     static BufferedReader bufferedreader;
      static File file;
     static  InputStream ips;
    public static void main(String[] args) throws IOException {
        
        
        
        frame = new JFrame("Launcher");
        frame.setSize(530, 530);
	Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
	int x = (int) ((dimension.getWidth() - frame.getWidth()) / 2);
	int y = (int) ((dimension.getHeight() - frame.getHeight()) / 2);
	frame.setLocation(x, y);
	frame.setResizable(false);
	frame.setVisible(true);
	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        panel = new JPanel();
        frame.add(panel);
        username = new JTextField();
        panel.add(username);
       
 
      
 

     
        username.setEditable(true);
        username.setForeground(Color.decode("#8a8a8a"));
	username.setLocation(32, 10);
	username.setSize(200, 25);
        username.setBorder(null);
        username.setFont(new Font("Century", Font.PLAIN, 14));

        button = new JButton("Start");
        panel.add(button);
	button.setVisible(true);
	button.setLocation(45, 70);
	button.setSize(130, 25);
        button.addMouseListener(new MouseAdapter(){
        @Override
public void mouseClicked(MouseEvent e){
       file = new File("file.txt");
       if (!file.exists()){
       try {
           file.createNewFile();
       }catch (IOException ex) {
           Logger.getLogger(Mine.class.getName()).log(Level.SEVERE, null, ex);
       }
       }
    
            try {
                filewriter = new FileWriter(file);
            } catch (IOException ex) {
                Logger.getLogger(Mine.class.getName()).log(Level.SEVERE, null, ex);
            }

    

    
    bufferedwriter = new BufferedWriter(filewriter);
            try {
                bufferedwriter.write(username.getText());
            } catch (IOException ex) {
                Logger.getLogger(Mine.class.getName()).log(Level.SEVERE, null, ex);
            }
            try {
                bufferedwriter.flush();
            } catch (IOException ex) {
                Logger.getLogger(Mine.class.getName()).log(Level.SEVERE, null, ex);
            }
            try {
                bufferedwriter.close();
            } catch (IOException ex) {
                Logger.getLogger(Mine.class.getName()).log(Level.SEVERE, null, ex);
            }
    
    

       }
       });

    
    }
    
}
Для JTextField сохранил в файл и как теперь вывести? Заранее благодарен


_____
Код программы нужно выделять (форматировать) тегами [CODE] [/CODE] (читать FAQ)
Модератор



Оооо. Спс.
Код:
 try{
   FileInputStream fstream = new FileInputStream("file.txt");
   BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
   String strLine;
   while ((strLine = br.readLine()) != null){
  
      username.setText(strLine);
   }
}catch (IOException e){
   System.out.println("Ошибка");
}
Прокомментируйте пожалуйста код. Только неделю java изучаю. Это для меня достижение. Только что теперь делать с JCombobox. Заранее благодарен

Последний раз редактировалось Валера Мороз; 11.04.2019 в 21:56.
Валера Мороз вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помощь новичку в JTextField Masafi Общие вопросы по Java, Java SE, Kotlin 2 30.03.2014 21:07
Считать функцию графика из JTextField Macwin Общие вопросы по Java, Java SE, Kotlin 4 14.03.2011 10:25
JTextField Stranger333 Общие вопросы по Java, Java SE, Kotlin 4 11.02.2011 02:43
Проблема с JComboBox в NetBeans dima154 Общие вопросы по Java, Java SE, Kotlin 3 25.09.2010 09:47
События JComboBox NirVv Общие вопросы по Java, Java SE, Kotlin 1 11.08.2010 21:30