Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 10

Ошибка сериализации JTable!

09.03.2013, 12:20. Показов 702. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Java
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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
 /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package buhtable;
 
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
 
/**
 *
 * @author ssi
 */
public class Frm implements Serializable, ActionListener{
   JTable tab;static ArrayList<Wiring> wirings;MyTableModel tModel;
    Date today = new Date();//организовать авоматическую дату в поле
    SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy ");
    String formattedDate = sdf.format(today);
    String n;int i;JTextArea tArea;
    JTextField tf1,tf2,tf3,tf4,tf5,tf6;
    Font font = new Font("Verdana", Font.BOLD, 16);
    JFrame frm = new JFrame("Список");JButton btn,btn1,btn2;JCheckBox jcb;
    String kvart[]={"Пулковская","Новаторов","Балтийская","Ополчения",
     "Пятилеток","Моравский","Дунайский5","Дунайский28","Макаренко",
     "Чудновского","Бассейная","Лиговский106","Лиговский1719","Лиговский17112","Лиговский17114"};
    public Frm(int x,int y){
    frm.setBounds(x, y, 970, 900);      
    frm.setLayout(new FlowLayout(FlowLayout.CENTER));
    JTextArea tArea1= new JTextArea(1,6);
    tArea1.setFont(font);
     tArea1.setBackground(Color.GREEN);//цвет фона
     tArea1.setForeground(new Color(51, 51, 51));//цвет шрифта  
     frm.add(tArea1);
    JComboBox jcbb = new JComboBox <> (kvart);
    jcbb.setEditable(true);
       jcbb.setBackground(Color.YELLOW);
       jcbb.setFont(font);
        frm.add(jcbb);
     
    tf1=tf("Залог",11,"11");
    frm.add(tf1);
    tf2=tf("Касса",11,"12");
    frm.add(tf2);
    tf3=tf("КСб",11,"13");
    frm.add(tf3);
     tf4=tf("КСв",11,"14");
    frm.add(tf4);
    tf5=tf("Коментарий",11,"15");
    frm.add(tf5);
    tf6=tf("Новая квартира",11,"16");
    frm.add(tf6);
 
    wirings = new ArrayList<>(); 
    tModel = new MyTableModel(wirings);  
    tab= new JTable(tModel); 
    JScrollPane sp = new JScrollPane(tab);       
    frm.add(sp);
                          
    tab.setRowHeight(0,40);//высота строки
    tab.getColumnModel().getColumn(0).setPreferredWidth(30);//ширина столбца
    tab.getColumnModel().getColumn(5).setPreferredWidth(300);
    tab.setPreferredScrollableViewportSize(new Dimension(930, 700));//габариты таб
    
     btn=new JButton("Ввод");
      btn.addActionListener(this);  
       frm.add(btn);
     btn1=new JButton("Добавить квартиру");
      btn1.addActionListener(this);  
       frm.add(btn1);
       
      btn2=new JButton("Удалить строку");
      btn2.addActionListener(this);  
       frm.add(btn2);
       
    frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frm.setVisible(true);
    //*****
    tf1.requestFocus();tf1.selectAll();
    tArea1.setText(formattedDate);
     
     
    }
 
    @Override
    public void actionPerformed(ActionEvent e) {
        String btName=e.getActionCommand();
        if  (btName.equalsIgnoreCase(btn.getText())){               
        wirings.add(new Wiring(formattedDate,tf1.getText(),tf2.getText(),tf3.getText(),tf4.getText(),tf5.getText()));      
       
        tModel.fireTableDataChanged();//обновить модель
       try {
                serialize();
            } catch (IOException ex) {
                System.out.print("Ошибка1 сериализации\n"+ex);
            } catch (ClassNotFoundException ex) {
                System.out.print("Ошибка2 сериализации\n"+ex);
            }
        } else  if  (btName.equalsIgnoreCase(btn1.getText())){
               
               
        } else  if  (btName.equalsIgnoreCase(btn2.getText())){
                         
                   
        } 
        
        else if(e.getActionCommand().equals("11")){
          tf2.requestFocus();tf2.selectAll();
        } else if(e.getActionCommand().equals("12")){
          tf3.requestFocus();tf3.selectAll();
        } else if(e.getActionCommand().equals("13")){
          tf4.requestFocus();tf4.selectAll();
        } else if(e.getActionCommand().equals("14")){
          tf5.requestFocus();tf5.selectAll();
        } else if(e.getActionCommand().equals("15")){
          tf6.requestFocus();tf6.selectAll();
        } else if(e.getActionCommand().equals("16")){
          tf1.requestFocus();tf1.selectAll();
        }
        
        }
    
    
private JTextField tf (String q,int a,String b){    
    JTextField tf = new JTextField(q,a);
    tf.setFont(font);
    tf.setBackground(Color.YELLOW);
    tf.setActionCommand(b);
    tf.addActionListener(this);       
      return tf; }
public static void main(String[] args) throws IOException, ClassNotFoundException {        
        
    SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                JFrame.setDefaultLookAndFeelDecorated(true);
                Frm frm1 = new Frm(400,50);
            }
        });
       deserialize();
    }
public static void serialize() throws IOException, ClassNotFoundException {
FileOutputStream fos = new FileOutputStream("serial");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(wirings);
oos.flush();
oos.close();
} 
    public static void deserialize() throws IOException, ClassNotFoundException {
FileInputStream fis = new FileInputStream("serial");
    ObjectInputStream oin = new ObjectInputStream(fis);
        wirings = (ArrayList<Wiring>) oin.readObject();
                oin.close();                                     
    }   
}
Java
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
 /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package buhtable;
 
import java.io.Serializable;
import java.util.ArrayList;
import javax.swing.table.AbstractTableModel;
 
/**
 *
 * @author ssi
 */
public class MyTableModel extends AbstractTableModel implements Serializable {
    ArrayList<Wiring> wirings;
    
    public MyTableModel(ArrayList<Wiring> wirings){
        super();       
     this.wirings = wirings;
    }  
    
    @Override
    public int getRowCount() {
        return wirings.size();     
    }
 
    @Override
    public int getColumnCount() {
        return 6;
    }
Java
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
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package buhtable;
 
import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.Date;
 
/**
 *
 * @author ssi
 */
public class Wiring implements Serializable{
    
    Date today = new Date();//организовать авоматическую дату в поле
    SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy ");
    String formattedDate = sdf.format(today);
    String zalog;
    String kassa;
    String sber;
    String svjaz;
    String koment;
    
    public Wiring(String formattedDate ,String zalog,String kassa,String sber,String svjaz,String koment){ 
        this.formattedDate=formattedDate;
        this.zalog=zalog;
        this.kassa=kassa;
        this.sber=sber;
        this.svjaz=svjaz;
        this.koment=koment;
    }
     public String getdate(){
        return formattedDate;
          }   
     public String getzalog(){
        return zalog;
     }   
      public String getkassa(){
        return kassa;
     } 
      public String getsber(){
        return sber;
     }
      public String getsvjaz(){
        return svjaz;
     }
      public String getkoment(){
        return koment;
     }
    }
Компилятор ошибок не выдает, а введенные строки в таблицу не сохраняются...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.03.2013, 12:20
Ответы с готовыми решениями:

Ошибка сериализации
Здравствуйте! Приложение выбрасывает исключение и я не могу понять почему:В месте: lock (sLock) { bmp =...

Ошибка сериализации
есть класс, в котором 2 массива List&lt;string&gt;, есть listView, я добавляю в него эл-ты и одновременно добавляют элементы в массив того...

Ошибка при сериализации
случилось у меня такая ситуация, что есть у меня класс, который я успешно сериализовал, после изменений в проекте (без изменений этого...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.03.2013, 12:20
Помогаю со студенческими работами здесь

Ошибка при сериализации
Ошибка Invalid start tag ArrayOfBookClass App1 G:\Projects\Visual Studio Projects\0 Android...

Ошибка при сериализации
При компиляции вылетает такая ошибка: Cannot create and instance of the abstract class or interface &quot;System.Xml.XmlWriter&quot;. ...

Ошибка сериализации/десериализации
Подскажите что не так? private void button3_Click(object sender, EventArgs e) { ...

Ошибка сериализации/десериализации
Доброго времени суток. Пишу программу для передачи информации о компьютере по сети. Имеются 2 приложения (сейчас обы Windows Form, в...

Ошибка сериализации объекта
У меня есть форма с полями При сериализации объекта myBankomat Выдает следующее исключение


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru