Zdarzenia miedzy oknami

0

Jak w Jawie sterując z menu w oknie nr 1 spowodować aby zmienić coś w oknie nr 2 i aby oba okna były widoczne w jednym czasie.

0

Jesli jest to zwykłą aplikacja to w metodzie actionPerformed(Event evt)
muszisz dla przypadku wybrania danej opcji menu wywołać odpowiednią metodę z klasy drugiego okna lub bezpośrednio zmienić dana jesli jest publiczna.

Jesli jest to aplet to zrób to w metodzie handleEvent lub w metodzie action.

Żeby od razu widzieć efekty muszisz wywołac metodę repaint().

0

Jesli jest to zwykłą aplikacja to w metodzie actionPerformed(Event evt)
muszisz dla przypadku wybrania danej opcji menu wywołać odpowiednią metodę z klasy drugiego okna lub bezpośrednio zmienić dana jesli jest publiczna.

Jesli jest to aplet to zrób to w metodzie handleEvent lub w metodzie action.

Żeby od razu widzieć efekty muszisz wywołac metodę repaint().

Wdzięczny byłbym za jakis przyklad, bo probowalem cos robic w ten sposob i nic z tego nie wyszlo.

0

Jesli jest to zwykłą aplikacja to w metodzie actionPerformed(Event evt)
muszisz dla przypadku wybrania danej opcji menu wywołać odpowiednią metodę z klasy drugiego okna lub bezpośrednio zmienić dana jesli jest publiczna.

Jesli jest to aplet to zrób to w metodzie handleEvent lub w metodzie action.

Żeby od razu widzieć efekty muszisz wywołac metodę repaint().

Jest to zwykla aplikacja. I wlasnie w tej drugiej klasie na podstawie ktorej tworzone jest okno nr 2 są metody.Nie wiem jak wywolać (stworzyć) actionListenery zeby z klasy pierwszej w której jest menu wywolać te metody ktore dzialają w klasie z okna nr 2. (np dodać jakiś komponent lub zmienic układ komponentow w oknie). Prosiłbym o jakiś przykład.

0

Bardzo surowa wersja ale jest tam przykład tego czego szukałeś,
wybierasz pozycje z menu w jednym oknie i zmienia się etykieta w drugim.

[code]
import java.awt.;
import java.awt.event.
;

class prz2 extends Frame implements ActionListener {

            Menu Menu1;
            MenuBar Menubar1;
            MenuItem menuitem1, menuitem2, menuitem3;

           
			dwa uchwyt;
            prz2(String title){
                    super(title);
                    //DisplayText = new TextField("");
                    //setLayout(new GridLayout(1, 1));
                   
                    Menubar1 = new MenuBar();

                    Menu1 = new Menu("File");

                    menuitem1 = new MenuItem("Hello");
                    Menu1.add(menuitem1);
                    menuitem1.addActionListener(this);

                    menuitem2 = new MenuItem("from");
                    Menu1.add(menuitem2);
                    menuitem2.addActionListener(this);

                    menuitem3 = new MenuItem("Java");
                    Menu1.add(menuitem3);
                    menuitem3.addActionListener(this);

                    Menubar1.add(Menu1);

                    setMenuBar(Menubar1); 
                    show();
                    pack();
            }

    public void actionPerformed(ActionEvent event){
        if(event.getSource() == menuitem1){
              uchwyt.lab.setText("hello");
        }
        if(event.getSource() == menuitem2){
              uchwyt.lab.setText("from");
        }
        if(event.getSource() == menuitem3){
                uchwyt.lab.setText("Java");
        }
    }

}

public class prz
{
static public void main(String argv[])
{
prz2 przykladowe=new prz2("tytul");

	dwa drugie=new dwa();
	przykladowe.uchwyt=drugie;
	
	}	

}

class dwa extends Frame{
Label lab=new Label("pierwotny",Label.LEFT );
dwa(){
Panel pan=new Panel();
pan.add(lab);
GridLayout gl=new GridLayout(2,2);
pan.setLayout(gl);
add(pan);
show();
pack();
reshape(200,200,100,100);
//repaint();
}
}
[/code]

Dopisane
Z JInternalFrame i JDesktopPane na dzień dzisiejszy nie jestem w stanie ci pomóc.

0

<quote>Bardzo surowa wersja ale jest tam przykład tego czego szukałeś,
wybierasz pozycje z menu w jednym oknie i zmienia się etykieta w drugim.

A co jak chce zmienić układ paneli w drugim oknie ?
i klasa dziedziczy po Frame zawiera przyciski i buttony oraz metody ktore zmieniają uklad paneli. To jak wtedy odnieść sie do calej klasy albo do jej calej zawartości .
Bo prubowalem tak;
uchwyt.metoda(); i nic sie nie dzieje ( metody normalnie dzialaly na tym samym oknie w jednej klasie)

Dzieki

0

Dzieki wlodi poradzilem sobie juz z tym.
Teraz chcę te dwa okna umieścić na desktopie, który będzie mial menu.
Z menu tego wybiore okno z ktorego bede sterowal tym drugim.
Wydaje mi sie ze potrzebne mi sa tutaj klasy JInternalFrame i JDesktopPane co Ty na to ?
I jeszcze jedno : czy w programie może być jedna czy kilka klas main

Pozdrawiam,
Robert

1 użytkowników online, w tym zalogowanych: 0, gości: 1