Cum de a crea un GUI java leagăn
Acest articol explică modul de a crea o aplicație simplă, care este prezentată în dreapta, și este codul sursă.
Pentru a plasa butoane, etichete de text și alte componente în fereastra programului, ar trebui să înțeleagă modul în care JPanel. Este ceva de genul un container pentru componente, care acoperă o suprafață dreptunghiulară a ecranului și arată componentele care sunt aliniate pe un principiu simplu. Cum componente aliniate exact, în funcție de tipul de aspect pe care le-ați setat pentru panoul. Pentru sarcini de programare simple pe care trebuie să știți, cel puțin, BorderLayout. care are o componentă de-a lungul marginilor și una seturi de componente mari în mijloc, apoi FlowLayout. care este de obicei o componentă într-un rând orizontal, și în cele din urmă, GridLayout. care are o componentă în m tabel arbitrar n *. Există și alte tipuri, dar acestea sunt prea complicate pentru începători. Ideea cheie este că „componenta“ nu poate fi doar o o casetă de validare sau buton, dar alte JPanel. Puteți obține destul de o interfață de utilizator complicat, pur și simplu prin plasarea unui panou la altul, selectarea pentru ei layout.
Dacă aveți o instanță de JPanel, apelată metoda .setLayout. pentru a seta tipul de aspect, și apoi metoda .add, pentru a adăuga la componentele panoului. Dacă BorderLayout ca al doilea parametru va trebui să transferați poziția. De exemplu, pentru a poziționa butonul din partea de sus, apelați myPanel.add (myButton, BorderLayout.North).
Recipientul de cel mai înalt nivel care apare pe ecran, care reprezintă o aplicație Java este o instanță a JFrame. în loc de JPanel. Pentru a adăuga dvs. principal exemplu panoul JFrame apel doar myJFrame.getContentPane (). Adăugați (myJPanel, BorderLayout.Center).
Pentru a face cererea dumneavoastră de a face ceva mai mult decât arată doar în sus, va trebui să înțeleagă interfața ActionListener. Orice ActionListener non-abstractă nu există decât o singură metodă de actionPerformed, care se numește atunci când utilizatorul efectuează „acțiunea“ a componentei, în care ascultătorul este înregistrat (de exemplu, efectul butonului - acest lucru evident de presare). Pentru a înregistra un ascultător pentru butoane de acțiune, sau orice altă componentă, apelați metoda .addActionListener. .
paşi de editare
Edit Metoda 1 din 2:
Crearea unui cadru comun
Creați o clasă care se extinde clasa JFrame. Această clasă va conține toate componentele sunt interfață grafică cu utilizatorul (GUI), cum ar fi butoane și casete de text.
Scrie un constructor pentru clasa ta. Acest constructor ar trebui să creeze toate panourile și componentele pe care le-ați planificat să le aranjați în mod corespunzător și se adaugă ultimul panou, care „se atașează toate“ la rama (myFrame.getContentPane (). Se adaugă (myLargePanel, BorderLayout.Center).
Scrieți o metodă principală, care este punctul de intrare a programului. Această metodă creează o instanță a cadrului, setați dimensiunea sa inițială și poziția (utilizarea .setSize (x, y) și .setLocation (lățime, înălțime)), și face să apară pe ecran, cauzând .setVisible (true).
edita Sfaturi
- Nu este mult mai greu să pună în aplicare interfață MouseListener și de a folosi .addMouseListener. Pentru a vă înregistra pentru oricare dintre componentele sale.
- Dacă aveți nevoie pentru a cere utilizatorului să introducă unele șir de caractere, apelați metoda statică JOptionPane.showInputDialog (acest lucru, „Mesajul meu“). primul parametru trebuie să fie cadrul aplicației sau orice panou (caseta de intrare apare în mijlocul elementului părinte). Metoda returneaza valoarea pe care utilizatorul a intrat în caseta de dialog.
- Este posibil de a plasa toate componentele pe un singur panou, folosind clasa GridBagLayout, dar această clasă este mai dificil de gestionat.
- Dacă doriți să atragă propriile obiecte grafice (cum ar fi o tablă de șah), citiți pe componenta panza. Acesta poate fi plasat în aplicația dvs. ca orice altă componentă, dar va trebui să scrie o .paint metodă, care este pe deplin responsabil pentru desenul acestuia.
- În multe aplicații din lumea reală componenta cea mai utilă a Swing este un JTable. După ce a învățat elementele de bază, să continue să lucreze cu el.
edita Avertismente
- Unele instrumente de dezvoltare oferă posibilitatea de a crea Swing mod GUI, „user-friendly“. Cu toate acestea, ele sunt de multe ori nu fac în mod corespunzător un panou cu caracteristici avansate. Aceste caracteristici includ arbori, tabele, liste și liste combinate care să modifice conținutul acestora ca programul de lucru, precum și componente cu modele de date de utilizator, etc. Codul scris în acest „user friendly“ mod, va fi un adevarat cosmar daca mai tarziu trebuie să-l adăugați manual. Prin urmare, nu se prea dus ca „designeri interfață grafică de utilizator, user-friendly“, deoarece acest lucru va limita șansele datorită capacității lor limitate.
- Swing - este aplicatie un singur fir. Dacă procesarea pașii pe care ia prea mult timp, „se blochează“, până când există o cale de ieșire a metodei .actionPerformed. Învățați și utilizați multithreading java, Swing pentru a rămâne „în viață“, în timp ce rulează un proces de consumatoare de timp.
- Cele mai multe metode de componente Swing pot fi în condiții de siguranță numit numai din firul de expediere-eveniment (metoda .actionPerformed și alte metode similare ale ascultătorului). Dacă trebuie să le apelați de la un alt flux (de exemplu, pentru a actualiza un indicator de progres sau pentru a afișa rezultatele unui proces de lungă durată), citiți despre SwingUtils.invokeLater.