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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.06.2011, 10:36   #11
Osanve
Пользователь
 
Аватар для Osanve
 
Регистрация: 11.12.2010
Сообщений: 50
По умолчанию

Думаю, что это последний мой пост в данной теме (особенно, если не будет никакой реакции ), т.к. обе проблемы я решил.

1) Разграничение прав.
Все-таки я рискнул создать таблицу, с логинами обычных пользователей:
Код:
CREATE TABLE users (name TEXT CHARACTER SET utf8);
После чего осуществляется следующая проверка:
Код:
{
	jButton3 = new JButton();
	getContentPane().add(jButton3);
	jButton3.setText("Управление аккаунтами");
	jButton3.setBounds(12, 84, 235, 21);
	if(baza.getNomen("SELECT * FROM users WHERE name='"+userName+"'").size() != 0)
	{
		jButton3.setEnabled(false);
	}
	else
	{
		jButton3.addActionListener(new java.awt.event.ActionListener()
		{
			@Override
			public void actionPerformed(ActionEvent e)
			{
				new Managers(baza);
			}
		});
	}
}
Все работает.

2) Синхронизация данных в разных JFrame.
Для примера возьмем следующую ситуацию:
В главном окне программы отображается общее количество рекламных мест и сколько из них свободно. При заключении договора заносится запись в таблицу с рекламодателями и автоматически должна заполнится информация о рекламных местах. Соответственно требуется обновить и информацию в различных JFrame.

Объявляем в полях класса:
Код:
private JFrame jFrame = this;
Далее при нажатии на требуемую кнопку вызываем новый JFrame, передавая нужные параметры:
Код:
{
	jButton2 = new JButton();
	getContentPane().add(jButton2);
	jButton2.setText("Управление рекламодателями");
	jButton2.setBounds(12, 58, 235, 21);
	jButton2.addActionListener(new java.awt.event.ActionListener()
	{
		@Override
		public void actionPerformed(ActionEvent event)
		{
			new Advertisers(baza, jFrame, userName);
		}
	});
}
у которого прототип следующий:
Код:
public Advertisers(final KFDB baza, final JFrame jFrame1, final String userName);
Далее, допустим, что ввели какие-либо изменения в таблице и нажали на кнопку сохранить:
Код:
JButton saveBt = new JButton("Сохранить");
saveBt.setAlignmentX(Component.CENTER_ALIGNMENT);
saveBt.setMinimumSize(new Dimension(97, 25));
saveBt.setMaximumSize(new Dimension(97, 25));
saveBt.setPreferredSize(new Dimension(97, 25));
saveBt.addActionListener(new java.awt.event.ActionListener()
{
	// Обработка сохранения данных в таблицу
	// На входе: event - действие нажатия на кнопку
	// На выходе: Ничего
	@Override
	public void actionPerformed(ActionEvent event)
	{
		baza.setNomen("UPDATE floor SET state=false");
		for(int i = 0; i < model.getRowCount(); i++)
		{
			baza.setNomen("UPDATE advertisers SET firm='"+table.getValueAt(i, 1).toString()+"', manager='"+table.getValueAt(i, 2).toString()+"', phone='"+table.getValueAt(i, 3).toString()+"', start='"+table.getValueAt(i, 4).toString()+"', finish='"+table.getValueAt(i, 5).toString()+"', place='"+table.getValueAt(i, 6).toString()+"' WHERE id="+model.getValueAt(i, 0));
			baza.setNomen("UPDATE floor SET state=true WHERE code='"+table.getValueAt(i, 6).toString()+"'");
		}
		setVisible(false);
		dispose();
		jFrame1.setVisible(false);
		jFrame1.dispose();
		new NewJFrame(baza, userName);
		new Advertisers(baza, jFrame1, userName);
	}
});
buttonsPanel.add(saveBt);
В данном случае NewJFrame - класс главного окна программы. Имеет два констуктора (прототипы):
Код:
public NewJFrame(String server, String db, String name, String pwd);
public NewJFrame(final KFDB baza, String userName);
Первый конструктор используется для перехода от окна логина к основному. Второй для синхронизации различных JFrame внутри программы, и успешно с этим справляется

P.S. Есть какое-то удовлетворение, из-за того, что я до этого сам додумался
Osanve вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос вида Insert..Select MySQL Svap SQL, базы данных 3 11.01.2011 19:11
Windows7,не работает HKEY_LOCAL_MACHINE\SOFTWARE\Microso ft\Windows NT\CurrentVersion\Windows\AppInit_D LLs ассемблер123 Windows 0 22.04.2010 18:30
java + mysql Lemon2009 Java Базы данных (JDBC, JPA, Hibernate) 5 09.03.2010 14:20
База Данных MySql не выполняется INSERT INTO vasylshvv Java Базы данных (JDBC, JPA, Hibernate) 6 04.08.2009 10:16
mysql проблемы с INSERT proglamer PHP 4 30.03.2008 14:36