0 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 10

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

09.03.2013, 12:20. Показов 719. Ответов 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 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru