[JAVA] + netbeans vicero oken

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod njosef 22. 9. 2012 14:58

Zdravím,
hledám informace jak v programu udělat vícero oken. Mám tim na mysli konkrétni aplikaci, kde vezmu několik údaju zadaných uživatelem a po odsouhlasení se dostanu do dalšího okna s třeba upřesnujícíma udajema. Zatim jsem nenarazil jak na to, přece se v javě nedělá pouze jednooknové programy :-) Pracuji v netbeans. Zkoušel jsem analogii z delphi kde se primární okno přepínalo z vytvořených pohledů. Ale tady jsem uplně mimo :(
Díky za každý postřeh.


PS: v každém manuálu je pouze aplikace s jedním pohledem (GUI) a další pohledy změměné obrazovky ne.
njosef
Junior

Odeslat příspěvekod natix 22. 9. 2012 19:20

Přesně ti to takhle z fleku neřeknu (navíc ve Swingu dělám minimálně), ale v principu si uděláš pro každé okno novou třídu odvozenou z JFrame. Po odkliknutí nějaké akce v prvním okně vytvoříš instanci druhého okna, předáš mu nějaká potřebná data (buď rovnou do konstruktoru nebo pomocí setterů) a zobrazíš ho (setVisible). Eventuálně můžeš původní okno zároveň zavřít (dispose).
natix
Junior

Odeslat příspěvekod njosef 23. 9. 2012 16:13

hoj, to jsem z toho moc nepobral :(
njosef
Junior

Odeslat příspěvekod natix 23. 9. 2012 21:36

http://docs.oracle.com/javase/tutorial/ ... frame.html

-- 23. 9. 2012 22:58 --

A abys neřekl, tak ještě nějaký hodně jednoduchý příklad: :)

Kód: Vybrat vše
public class FirstWindow extends JFrame {

   private final FlowLayout flowLayout = new FlowLayout();
   private final JButton button = new JButton("Open second window");

   public FirstWindow() {
      setTitle("First Window");
      setSize(300, 200);
      setDefaultCloseOperation(EXIT_ON_CLOSE);

      setLayout(flowLayout);
      add(button);
      button.addActionListener(new ActionListener() {
         @Override
         public void actionPerformed(ActionEvent e) {
            new SecondWindow().setVisible(true);
         }
      });
   }
}

Kód: Vybrat vše
public class SecondWindow extends JFrame {

   public SecondWindow() {
      setSize(200, 100);
      setTitle("Second window");
   }
}

Kód: Vybrat vše
public static void main(String... args) {
   new FirstWindow().setVisible(true);
}
natix
Junior

Odeslat příspěvekod lemming 23. 9. 2012 22:49

V NetBeansech dáš "New File" a z kategorie "Swing GUI Forms" vybereš "JDialog Form" - to je ten správný template, který hledáš.
lemming
Junior

Odeslat příspěvekod njosef 24. 9. 2012 07:00

super díky! vyzkoušíme :-)
njosef
Junior

Odeslat příspěvekod njosef 24. 9. 2012 16:10

skoro tak nějak. ale myslím jedno první okno s prvky pro zadani dat -> po klepnuti na tlacitko se obsah okna smaze a naplni se novymi daty.

treba jako je aplikace (editor knihovna) a klepnu na tlacitko editovat autora( skryje se vypis knihoven a zobrazi se ve stejnem okne editace autora) ne aby se zobrazovala halda oken. Díky
njosef
Junior


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků