Java, Applet, JDialog нужен совет!

Модератор: Absurd

Ledi
Сообщения: 8
Зарегистрирован: 20 янв 2005, 18:19

20 янв 2005, 18:29

Народ, помогите первоклашке :) !

Вопрос таков: Есть апплет(костяк) и диалоговое окошко для входа в систему (JDialog).Kак связать их друг с другом, ума не приложу :( . Нужно: чтобы, когда пользователь открывал WebBrowser у него появлялось окошко авторизации и из него он бы потом попадал в другое окно, все это нужно сделать на основе апплета. Пример программки JDialog у меня есть, но вот как осушествить привязку ее к апплету и как потом переити из одного окна в другое....Может кто-нить подкинет простенький пример, а, профи?Буду очень благодарна!
Аватара пользователя
AiK
Сообщения: 2274
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

20 янв 2005, 18:49

Ledi, сразу вопрос: апплет рассчитывается делать для возможно большего числа посетителей или только для тех у кого плагин установлен? Бо IE Swing не поддерживает.
Даже самый дурацкий замысел можно воплотить мастерски
Kolinus
Сообщения: 449
Зарегистрирован: 23 авг 2004, 14:02
Откуда: Минск

20 янв 2005, 19:53

На самом деле ничего сложного нет.
Диалог делается модальным (есть соответствующий метод у класса диалога).
После визуализации диалога вставляется код визуализации другого окна (диалога и т.д.) - конкретнее не указано что надо
в апплете сразу выполняется метод start
В SAD - все в SAD.
Ledi
Сообщения: 8
Зарегистрирован: 20 янв 2005, 18:19

21 янв 2005, 16:04

спасибо, народ! Буду пытаться, хотя без примера довольно сложно.Может еще кто подскажет. Создаю в апплете JMenu, которое состоит из submenu.Хочу добавить в одном из пунктов submenu -icon, почему-то не получается. Т.е. я вижу, что что-то добавлено(текст сдвигается), но сам рисунок не отображается, может я что-то упустила, подскажите.Вот фрагмент программы:

menuBar = new JMenuBar();
menu1 = new JMenu("change");

submenu1 = new JMenu("change 1");
submenu2 = new JMenu("change 2");

ImageIcon image = new ImageIcon("/images/image.gif");
submenu1.setIcon(image);

menu1.add(submenu1);
Kolinus
Сообщения: 449
Зарегистрирован: 23 авг 2004, 14:02
Откуда: Минск

21 янв 2005, 16:57

ImageIcon image = new ImageIcon("/images/image.gif");
по ходу данный код пытается подгрузить иконку с диска C из паки images - может здесь грабля ?
В SAD - все в SAD.
Ledi
Сообщения: 8
Зарегистрирован: 20 янв 2005, 18:19

21 янв 2005, 18:21

да нет, путь указан верно, класс и картинка находится в одном проекте (среда разработки eclipse , тестирую с помощью Appletviewer)
Kolinus
Сообщения: 449
Зарегистрирован: 23 авг 2004, 14:02
Откуда: Минск

21 янв 2005, 18:31

Леди - ImageIcon image = new ImageIcon("/images/image.gif");
и
ImageIcon image = new ImageIcon("images/image.gif");
ImageIcon image = new ImageIcon("./images/image.gif");
не одно и тоже.
Полный код Вы не выкладываете - но даю 95% гарантии что грабли именно здесь
путь начинающийся с символа "/" - начинается с точки монтирования (для никс систем) или с корня диска С для вин систем
В SAD - все в SAD.
Ledi
Сообщения: 8
Зарегистрирован: 20 янв 2005, 18:19

21 янв 2005, 19:23

Я бы рада была, если проблема была бы здесь :( Kолинус, а вы не могли бы мне привести пример малюсенькой элементарной программки, Апплета с менюшкой, в одной из submenu которой был бы и текст и рисунок. Может я ошибаюсь не здесь. А я бы протестировала у себя ваш пример. Пож-ста, а то с ума уже схожу :)
Oleg_S
Сообщения: 27
Зарегистрирован: 22 апр 2004, 01:42
Откуда: Chisinau

24 янв 2005, 01:31

Проект в Eclipse, да и в другой среде тоже, не есть онлайн.
Вряд ли твоя иконка, Леди, "придет" в твой апплет, тем более что она (иконка) и исполняемый класс лежат в разных директориях.
Даже если ты на СВОЕЙ машине изменишь политику безопасности для апплетов это совсем не означает, что твои потенциальные пользователи сделают тоже самое.
Это конечно далеко не идеал, но посмотри:

Код: Выделить всё

import java.awt.*;
import javax.swing.*;
import java.applet.*;
import java.awt.event.*;

public final class AplPan extends JApplet{

	public final void init(){
		final JComponent contentPane=(JComponent)getContentPane();
		final JPanel panel = new JPanel();
//новый вид курсора
		final Cursor hand = new Cursor(Cursor.HAND_CURSOR);
//переопределяем менеджер размещения
		contentPane.setLayout(new BorderLayout());
//создаем панель меню
		final JMenuBar mainMenu = new JMenuBar();
		final JMenu menuHelp = new JMenu(" Information ");
		menuHelp.setCursor(hand);
		final JMenuItem menuAbout = new JMenuItem("About",KeyEvent.VK_A);
		menuAbout.setCursor(hand);
//иконка в меню
		ImageIcon image = new ImageIcon("flower.jpg");
		menuAbout.setIcon(image);
//добавление подсказки в меню Information/About (нажать Alt+A)
		menuAbout.setAccelerator(KeyStroke.getKeyStroke(
		   						KeyEvent.VK_A, ActionEvent.ALT_MASK));
		menuAbout.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				final String infomsg = (
				"<html><font color=#FF00FD size=4>"
						+"

Design by Oleg_S</font>"
					 	+"

<font color=green size=6>"
						+"Welcom to Java "+
				"</font></html>\n\n");
			JOptionPane.showMessageDialog(
				AplPan.this,infomsg,"Информационное сообщение !!!",JOptionPane.INFORMATION_MESSAGE
			);
		}
		});
		menuHelp.add(menuAbout);
		mainMenu.add(menuHelp);
  		contentPane.add(mainMenu,BorderLayout.NORTH);
		contentPane.add(panel,BorderLayout.CENTER);
		contentPane.setPreferredSize(new Dimension(500,350));
		contentPane.setBorder(BorderFactory.createEmptyBorder(15,15,15,15));
		setVisible(true);
	}
}
Не претендую на истину, да и код просто урезал из своих старых исходников.
Удачи...
Ledi
Сообщения: 8
Зарегистрирован: 20 янв 2005, 18:19

24 янв 2005, 11:43

все, почти сдаюсь :( Олег, спасибо вам за пример. Попробовала протестировать ваш класс со своей icon, не отображается :( Но дело точно не в пути! Протестировала с теми же условиями и с тем же указанием пути к рисунку другой пример, в нем я icon вижу, значит дело не в пути. Может в размере icon???Профи, где вы? Помогите решить проблему!
Ответить