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

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

Вернуться   Форум программистов > Java программирование > Java Базы данных (JDBC, JPA, Hibernate)
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.09.2010, 18:30   #1
Olejik
Форумчанин
 
Регистрация: 02.06.2009
Сообщений: 218
По умолчанию бд JTable

добрый день, досталась лаба сделать дб с визуализацией. Решил сделать через JTable. Мне нужно чтобы при запуске программы бд строилась из тхт файлика (как считывать знаю) и при выходе если были какие то изменения - всю бд сохраняла туда же. Вот мой код программы:
Код:
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.TableModel;

import java.awt.Dimension;

public class BD extends JFrame
{
	BD()
	{
		super();
		setTitle("noob");
		setLocation(470,370);
		setMinimumSize(new Dimension(250,280));
		setMaximumSize(new Dimension(260,290));
		JFrame jf = new JFrame();
		jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		String[] column = {"Имя товара","дата поступления товара","дата возврата товара","цена ремонта"};
		String[][] data = {
				{"Хлодильник","16.09.2010","24.09.2010","123"},
				{"Чайник","23.09.2010","25.09.2010","450"}
				};
		table = new JTable(data,column);
		JScrollPane scrollPane = new JScrollPane(table);
		jf.getContentPane().add(scrollPane);
		jf.setPreferredSize(new Dimension(450,200));
		jf.pack();
		jf.setLocationRelativeTo(null);
		jf.setVisible(true);
	}
	/*public void out()
	{
		TableModel model = table.getModel();
		String value = model.getValueAt(0,0).toString();
		System.out.println(value);
	}*/
	JTable table;
}
Код:
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class Main
{
	public static void main(String args[])
	{
		final BD b = new BD();
		b.addWindowListener(new WindowAdapter()
		{
			public void windowOpened(WindowEvent e)
			{
				System.out.println("Hello!");
			}
			public void windowClosing(WindowEvent e)
			{
				System.out.println("Good luck!");
				b.dispose();
			}
		});
	}
}
проблема такова - не вызываются места, где у меня описаны методы windowOpened и windowClosing.
Спасибо за помощь.
Olejik вне форума Ответить с цитированием
Старый 30.09.2010, 00:43   #2
Olejik
Форумчанин
 
Регистрация: 02.06.2009
Сообщений: 218
По умолчанию

решил эту проблему, вот что получилось:
Код:
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.TableModel;

import java.awt.Dimension;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.*;

public class BD extends JFrame
{
	BD() throws FileNotFoundException
	{
		super();
		setTitle("test");
		setLocation(470,370);
		setMinimumSize(new Dimension(250,280));
		setMaximumSize(new Dimension(260,290));
		JFrame jf = new JFrame();
		jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		String[] column = {"ID товара","Имя товара","дата поступления товара","дата возврата товара","цена ремонта"};
		String data[][] = new String[100][100];
		table = new JTable(data,column);
		JScrollPane scrollPane = new JScrollPane(table);
		jf.getContentPane().add(scrollPane);
		jf.setPreferredSize(new Dimension(450,200));
		jf.pack();
		jf.setLocationRelativeTo(null);
		jf.setVisible(true);
		BufferedReader in = new BufferedReader(new FileReader("BD.txt"));
		try
		{
			int i = 0, j = 0;
			while(in.ready())
			{
				String s = "";
				for(j = 0 ; j < table.getColumnCount() ; j++)
				{
					s = in.readLine();
					table.setValueAt(s, i, j);
				}
				i++;
			}
		} catch (IOException e)
		{
			e.printStackTrace();
		}
		jf.addWindowListener(new WindowAdapter()
		{
			public void windowClosing(WindowEvent e)
			{
				System.out.println("321");
			}
		});
	}
	JTable table;
}
при выходе из программы - выводит на экран "321".
Olejik вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
бд JTable Olejik Java Базы данных (JDBC, JPA, Hibernate) 0 28.09.2010 18:18
Программная сортировка JTable Андрей@ Общие вопросы по Java, Java SE, Kotlin 1 19.04.2010 23:19
JTable МаксMorfey Общие вопросы по Java, Java SE, Kotlin 2 14.11.2009 20:03