Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
Uživatelská rozhraní Uživatelská rozhraní 8. cvičení
2
Prerekvizity Java SE Development Kit (JDK) http://java.sun.com/javase/downloads/index.jsp Manuály Specifikace API: http://java.sun.com/javase/6/docs/api/ Tutoriály: http://java.sun.com/docs/books/tutorial/index.html Editory NetBeans, Eclipse, PSPad, … martin.nemec@vsb.cz
3
Layout Management LM ovládají rozmístění komponent v rámci kontejneru. Příkaz pack() přeskupí komponenty tak, aby nezůstalo žádné volné místo. BoxLayoutFlowLayoutGridLayout BorderLayoutGridBagLayout“Null” Layout
4
Praktická úloha martin.nemec@vsb.cz Pro cvičení použijeme šablonu, na které se budeme dále seznamovat s komponentami zahrnutými ve Swing API. Design si můžete upravit libovolně podle sebe. Pokuste se vyzkoušet základní prvky, včetně nastavení jejich vlastností.
5
GridBagLayout martin.nemec@vsb.cz Jeden z nejkomplexnějších layoutů. Umísťuje komponenty do buněk mřížky obdobně jako GridLayout. Řádky i sloupce mohou mít různou velikost. Komponenta může být přes více řádků nebo sloupců (rowspan, columnspan). Umístění komponent se určuje pomocí GridBagConstraint.
6
GBL - GridBagConstraint martin.nemec@vsb.cz Atributy gridx, gridy: Souřadnice levého sloupce a horního řádku pro vložení komponenty. Počátek v (0, 0). GridBagConstraint.RELATIVE – komponenta bude umístěna vpravo nebo pod předchozí vloženou komponentu. Lépe je specifikovat souřadnice vkládané komponenty explicitně. Atributy gridwidth, gridheight: Počet sloupců a počet řádků, které komponenta obsadí (implicitně 1). GridBagConstraint.REMAINDER – komponenta bude poslední v řádku nebo sloupci. GridBagConstraint. RELATIVE – komponenta bude umístěna vedle předchozí.
7
GBL - GridBagConstraint martin.nemec@vsb.cz Atribut fill: Určuje chování komponenty v situaci, kdy volná plocha pro komponentu je větší než tato komponenta. GridBagConstraint.NONE – velikost se nemění GridBagConstraint.HORIZONTAL – roztažení komponenty do šířky GridBagConstraint.VERTICAL – roztažení komponenty do výšky GridBagConstraint.BOTH – komponenta vyplní celou plochu Atributy ipadx, ipady: Specifikují vnitřní doplnění minimálních rozměrů komponenty, implicitně 0. Doplnění je přidáno na obě strany komponenty.
8
GBL - GridBagConstraint martin.nemec@vsb.cz Atribut insets: Vnější okraje komponenty (neboli mezera mezi hranicemi buňky a komponentou), implicitně (0, 0, 0, 0). Atribut anchor: Určuje způsob umístění komponenty v rámci buňky, je-li tato buňka větší než komponenta. FIRST_LINE_STARTPAGE_STARTFIRST_LINE_END LINE_STARTCENTERLINE_END LAST_LINE_STARTPAGE_ENDLAST_LINE_END
9
GBL - GridBagConstraint martin.nemec@vsb.cz Atribut weightx, weighty: Určuje, jak se rozdělí prostor mezi řádky, resp. sloupci, implicitně 0.0, hodnota mezi 0-1. Důležité hlavně při změně velikosti kontejneru.
10
import javax.swing.JFrame; public class Kalkulacka { static Gui guiKalk; public static void main(String[] args) { guiKalk = new Gui(); guiKalk.pack(); guiKalk.setTitle("Calculator"); guiKalk.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); guiKalk.setMinimumSize(guiKalk.getPreferredSize()); guiKalk.setLocationRelativeTo(null); guiKalk.setVisible(true); }
11
Nastavení pro JTextField gbConst.gridx = 0; //pozice gbConst.gridy = 0; gbConst.gridwidth = 4; //sloučení přes čtyři sloupce gbConst.gridheight = 1; gbConst.weightx = 1.0; //nastavení váhy gbConst.weighty = 0.0.; gbConst.insets.top = 5; //okraj gbConst.insets.left = 5; gbConst.fill = GridBagConstraints.BOTH;// vyplnění gbConst.anchor = GridBagConstraints.CENTER; //zarovnání this.add(valueText, gbConst);
12
Look and Feel
13
class Test implements ActionListener { public void actionPerformed(ActionEvent e) { JButton but = (JButton)e.getSource(); System.out.print(but.getText()); } Button1.setFont(new Font(null,Font.BOLD,12));
14
Dopracovat výpočet a vzhled. Děkuji za pozornost. martin.nemec@vsb.cz
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.