Strona 1 z 1
otwarcie nowego okna aplikacji po kliknięciu przycisku
Napisane: niedziela, 11 kwietnia 2010, 10:59
przez saiqard
Witam.
Mam następujący problem:
Stworzyłem dwie aplikacje w netbeans za pomoca kreatora z połączeniem do bazy danych poprzez jdbc, następnie przeniosłem je do jednego projektu. klikając na VatApp.java albo na UzytkownicyApp.java prawym przyciskiem myszy --> run file formatka otwiera sie i działa.
Problem polega na tym, że chciałbym po kliknięciu na menuItem w jednej z zakładek, otwarła się VatApp.java, a po kliknieciu w drugi menuItem otwarło się UżytkownicyApp.java.
Wszystkie te zakładki sa tworzone przez kreatora netbeans.
Mógłby mi Pan pomóc i napisać, jaki kod powinienem wpisać w obsłudze zdarzenia aby okno się otwarło?
Próbowałem dostosować lekcje odnośnie aplikacji z wieloma ramkami, ale nie mogę sobie z tym poradzić.
Jeśli pan chce, mogę przesłać kod programu na maia
Prosze o odpowiedz i pozdrawiam
Re: otwarcie nowego okna aplikacji po kliknięciu przycisku
Napisane: niedziela, 11 kwietnia 2010, 16:12
przez Morfidon
Witam,
Aplikację trzeba zrobić tak jak jest to pokazane w lekcji 16, czyli od początku w 1 projekcie, czasem jest później za dużo roboty przy łączeniu..
powinno otworzyć w ramce głównej np. Main, ramkę VatApp, czyli ten kod powinien się wywoływać po kliknięciu na zakładkę / button / wybór czegoś z menu etc.
Pozdrawiam,
Arkadiusz Włodarczyk
Re: otwarcie nowego okna aplikacji po kliknięciu przycisku
Napisane: poniedziałek, 12 kwietnia 2010, 20:10
przez saiqard
Tworząc aplikacje wg lekcji 16 działa tak jak Pan napisał.
Wydaje mi się, że mi nie działa dlatego, że w lekcji tworzy się klasa dziedzicząca po JFrame, a ja mam przez kreator stworzone klasy (np. VatApp.java) które dziedziczą po SingleFrameApplication. Tworzy się również VatView.java który dziedziczy po FrameView.
Stworzenie wszystkiego od początku a nie przez kreatora jest dla mnie raczej niewykonalne, ponieważ tu tworzy mi się gotowa klasa współpracująca z tabelą w bazie danych. a recznie było by to za duże wyzwanie jak dla moich umiejętności.
moją aplikacje stworzyłem poprzez:
Plik-->nowy projekt-->java-->java desktop aplication-->database application.
Używan netbeans 6.8
To nie w tym dziale, ale myśle że było by warto stworzyć lekcje, jak łączyć ze sobą aplikacje stworzone przez kreatora w netbeans.
Na pewno przydałoby sie to wielu osobom:)
Proszę o pomoc i pozdrawiam:)
Re: otwarcie nowego okna aplikacji po kliknięciu przycisku
Napisane: wtorek, 13 kwietnia 2010, 13:18
przez Morfidon
W takim wypadku trzeba wcześniej skorzystać z innych metod:
http://www.jarvana.com/jarvana/view/net ... eView.html
- getFrame();
http://www.jarvana.com/jarvana/view/net ... ation.html
- getMainFrame();
Pozdrawiam,
Arkadiusz Włodarczyk
Re: otwarcie nowego okna aplikacji po kliknięciu przycisku
Napisane: środa, 14 kwietnia 2010, 18:51
przez Gość
Próbuje to zrobić poprzec:
Code: Zaznacz cały
JFrame vatOtwarcie = vat.VatApp.getApplication().getMainFrame();
vat.VatApp.getApplication().show(vatOtwarcie);
ale wywala mi wyjątek:
Code: Zaznacz cały
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: Cannot cast controlling.ControllingApp to vat.VatApp
at java.lang.Class.cast(Class.java:3007)
at org.jdesktop.application.Application.getInstance(Application.java:605)
at vat.VatApp.getApplication(VatApp.java:35)
at controlling.ControllingView.jMenuItem1ActionPerformed(ControllingView.java:214)
at controlling.ControllingView.access$800(ControllingView.java:22)
at controlling.ControllingView$4.actionPerformed(ControllingView.java:152)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.AbstractButton.doClick(AbstractButton.java:374)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1688)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1732)
at java.awt.Component.processMouseEvent(Component.java:6108)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:5873)
at java.awt.Container.processEvent(Container.java:2105)
at java.awt.Component.dispatchEventImpl(Component.java:4469)
at java.awt.Container.dispatchEventImpl(Container.java:2163)
at java.awt.Component.dispatchEvent(Component.java:4295)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4461)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4125)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4055)
at java.awt.Container.dispatchEventImpl(Container.java:2149)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4295)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:604)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
Re: otwarcie nowego okna aplikacji po kliknięciu przycisku
Napisane: czwartek, 15 kwietnia 2010, 00:24
przez Morfidon
Nie jestem pewien czy to zadziała bo nie widzę całości, ale może tak?
Code: Zaznacz cały
new vat.VatApp.getMainFrame().setVisible(true);