powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / помогите найти ошибку!!!
6 сообщений из 6, страница 1 из 1
помогите найти ошибку!!!
    #33474109
Olga1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребята, помогите найти ошибку пожалуйста!!!

Программа работает и создает окно с тремя полями.

В первые два я ввожу данные а в третьем отображается результат

Проблема в том, что когда я закрываю окно и запускаю программу Main снова, ранее введенные данные не сохраняются и при следующем запуске программы выдается первоначальные

Я знаю, что введенные данные надо передавать как параметр, но у меня не получается

Подскажите, как это правильно сделать

Текст программ
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
 public   final   class  Main {

     public   static   void  main(String[] args) {

        new  Converter().start();               }

}


 public   final   class  Converter {

     private  Model model;
  
     private  View view;

      public  Converter() {
         this .model =  new  Model();
         this .view =  new  View();

        // create controllers
        QuitController qc =  new  QuitController( this );
         this .view.getFrame().addWindowListener(qc);
        InputController ic =  new  InputController( this );
         this .view.getInputField().getDocument().addDocumentListener(ic);
         this .view.getExchangeRateField().getDocument().addDocumentListener(ic);

        // init view
         this .view.getExchangeRateField().setText(
                 Float .toString( this .model.getExchangeRate()));

    }

     public  Model getModel() {
         return   this .model;  }

     public  View getView() {
         return   this .view;  }

     public   void  start() {
         this .view.show();   }

}


 public   final   class  Model {

     private   float  exchangeRate;
     public  Model() {  this .exchangeRate =  1 ; }

     public   float  getExchangeRate() {
         return   this .exchangeRate;  }

    
     public   void  setExchangeRate( float  rate) {

         if  (rate <  0 )  throw   new  NegativeExchangeRateException(rate);
         this .exchangeRate = rate;

    }

}

 public   final   class  View {
     private  JFrame frame;
     private  JTextField inputField;
     private  JTextField exchangeRateField;
     private  JTextField outputField;
     private  JLabel statusBar;

     public  View() {

         this .frame =  new  JFrame();
         this .frame.setTitle("Currency converter");
         this .frame.setLocation( 30 ,  40 );
         this .frame.setResizable(false);
         this .frame.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
         this .frame.getContentPane().setLayout( new  BorderLayout());

        JPanel center =  new  JPanel();
        center.setBorder(BorderFactory.createEmptyBorder(BORDER, BORDER,
                BORDER, BORDER));
        center.setLayout( new  GridLayout( 3 ,  2 , BORDER, BORDER));
         this .frame.getContentPane().add(center, CENTER);

         JLabel inputLabel =  new  JLabel("Amount to convert:");
        center.add(inputLabel);
         this .inputField =  new  JTextField("1");
         this .inputField.selectAll();
        center.add( this .inputField);

         JLabel exchangeRateLabel =  new  JLabel("Exchange rate:");
        center.add(exchangeRateLabel);
         this .exchangeRateField =  new  JTextField();
        center.add( this .exchangeRateField);

          JLabel outputLabel =  new  JLabel("Converted amount:");
        center.add(outputLabel);
         this .outputField =  new  JTextField();
         this .outputField.setEditable(false);
        center.add( this .outputField);

          this .statusBar =  new  JLabel(" ");
         this .statusBar.setBorder(BorderFactory.createEmptyBorder( 0 , BORDER,
                BORDER, BORDER));
         this .statusBar.setFont( this .statusBar.getFont().deriveFont( 10 .0f));
         this .frame.getContentPane().add( this .statusBar, SOUTH);

         this .frame.pack();

    }

   
     public  JFrame getFrame() {
         return   this .frame;   }

    
     public  JTextField getInputField() {
         return   this .inputField;        }

     public  JTextField getExchangeRateField() {
         return   this .exchangeRateField;       }

    
     public  JTextField getOutputField() {
         return   this .outputField;       }

    
     public  JLabel getStatusBar() {
         return   this .statusBar;   }

     public   void  show() {
         this .frame.setVisible(true);
    }

}

Модератор: неужели так сложно пользоваться кнопками оформления кода?
...
Рейтинг: 0 / 0
помогите найти ошибку!!!
    #33474120
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
бегло просмотрел и не увидел, где данные куда-либо сохраняются. а если
они не сохраняются, то почему программа должна о них помнить между
запусками?

-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
помогите найти ошибку!!!
    #33474182
Olga1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а как их надо сохранять, чтобы програма помнила о них между запусками
Я думала, это должно происходить автоматически
...
Рейтинг: 0 / 0
помогите найти ошибку!!!
    #33474210
Фотография peter6636
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Olga1а как их надо сохранять, чтобы програма помнила о них между запусками
Я думала, это должно происходить автоматически
можно в базе например или в файле сохранять, все зависит от задачи и от объема сохраняемых данных
...
Рейтинг: 0 / 0
помогите найти ошибку!!!
    #33474309
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Olga1а как их надо сохранять, чтобы програма помнила о них между запусками
Я думала, это должно происходить автоматически

Ничего в системе не происходит автоматически. Разве что глюки. За всеми действиями стоит тот или иной кусок кода.

Например, для ваших трех полей на форме (для конкретной задачи) я бы написал класс, который содержит три поля - содержащие как раз значения полей на форме. Два устанавливаются, третье вычисляется автоматом. Затем с помощью XMLEncode/XMLDecode сохранял бы значения полей в файл при выходе, и загружал бы при входе. Имя файла - константа.
...
Рейтинг: 0 / 0
помогите найти ошибку!!!
    #33480146
Olga1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо всем, разобралась.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / помогите найти ошибку!!!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]