cwicz11







WPR 11



Swing
Komponenty GUI




Poznajemy komponenty Swinga i ich właściwości

Zaprojektuj aplikację okienkową Swing, używając komponentów tego pakietu.
Program powinien stanowić interfejs graficzny do jakiejś sensownej aplikacji.
Może to być np.:

zwykły edytor,
przeglądarka systemu plików,
gra z prostą grafiką,
program do sporządzania rysunków.



Na następnych zajęciach będziemy dodawać do niego obsługę zdarzeń (myszka, klawiatura).



Należy (sensownie) użyć możliwie wielu różnych komponentów Swing
oraz eksperymentować z ich właściwościami.
Użyj kontenerów (np. JPanel) do grupowania inncy komponentów.




Sposób budowania aplikacji Swing (a raczej konstruktora jej głównej klasy) jest taki:

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

class SwingGui extends JFrame {


public SwingGui()
{
// Ustalenie tytułu okna (opcjonalne):
super("Swing GUI");

// Umiejscowienie okna na ekranie (opcjonalne):
setLocation(300, 300);

// ustalenie obsługi zamknięcia okna
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// Ustalenie rozkładu (opcjonalne):
setLayout(new FlowLayout());

// Tworzenie komponentów:
JLabel lab = new JLabel("Etykieta");
/*
* różne komponenty ...
*/
JButton but = new JButton("Przycisk");

// Ustalenie własciwości komponentów:
lab.setForeground(Color.red);
/*
* właściwości zależne od komponentu ...
*/
but.setBackground(Color.blue);

// Dodanie komponentów do contentPane, inaczej się nie ukażą:
add(lab);
/*
* dodajemy komponenty, które mają być umieszczone w głównym oknie
*/
add(but);

/* Poniższe dwie instrukcje są niezbędne.
* Mogą wystąpić tylko na końcu kodu budującego okno.
*/
// ustalenie rozmiarów okna
pack();
// pokazanie okna
setVisible(true);
}

public static void main(String[] args)
{
new SwingGui();
}

}




Najprostsze komponenty, których można użyć to:


JPanel


JLabel


JButton


JCheckbox


JRadioButton


JToggleButton


JTextArea


JTextField


JComboBox


Bardziej złożone to:


JScrollbar


JSpinner


JSlider


JList


JScrollPane


JSplitPane


JTabbedPane


JTable


JTree



Wymagają one dodatkowych operacji do sensownego użycia.

Można również użyć dialogów:



JFileChooser


JColorChooser


JOptionPane






Dodatkowe właściwości:


Tworzenie menu: klasy JMenuBar, JMenu, JMenuItem i inne.


Tworzenie paska narzędzi: komponent JToolBar.


Skróty klawiaturowe: metoda setMnemonic(char).


Dymki podpowiedzi: metoda setToolTipText(String).






Klasy pochodzą z pakietu javax.swing lub java.awt.





Wyszukiwarka