Skip to content

Commit 8284ece

Browse files
committed
kms
1 parent cb5f33b commit 8284ece

File tree

3 files changed

+57
-1
lines changed

3 files changed

+57
-1
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ Jednoduché repo pro moje kamarády a spolužáky se všemi mými podklady k mat
127127
15. [Správci rozložení (FlowPane, GridPane, VBox, aj.)](prg/spravci.md)<br>
128128
16. [JavaFX Node — Label, Button, TogeleButton, Textfield, aj.](prg/javafx_node.md)<br>
129129
17. [JavaFX kontejnery (MenuBar, Menu, ContextMenu, TableView, WebView a.j.)](prg/javafx_kontejnery.md)<br>
130-
18. Zpracování událostí (MouseEvent, KeyEvent, ActionEvent, WindowEvent, aj.)<br>
130+
18. [Zpracování událostí (MouseEvent, KeyEvent, ActionEvent, WindowEvent, aj.)](prg/udalosti.md)<br>
131131
19. Výjimky<br>
132132
20. Vlákna<br>
133133
21. Fáze vývoje aplikace<br>

prg/javafx_kontejnery.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# JavaFX kontejnery (MenuBar, Menu, ContextMenu, TableView, WebView a.j.)
2+
3+
Menu neboli nabídka.
4+
Sada Nodů (uzlů), která realizuje většinou horní lištu se základními, ale i pokročilými funkcemi aplikace.
5+
6+
## Uzly
7+
### MenuBar
8+
- uzel, který vytváří lištu nabídky (kořenový node celé nabídky)
9+
- sám o sobě nemá žádnou fuknci, jenom vytváří prostředí pro další node z nabídky
10+
### Menu
11+
- základní uzel, který umožňuje pod sebou seskupovat další uzly nabídky včetně sebe samého
12+
- pokud Menu obsahuje nějaké další uzly, dochází k jeho rozrolování (roletové menu)
13+
- je možné doplnit o mnemonic funkci (tj. jedno písmeno z nabídky je podtržené a kombinací kláves Alt+to písmenu vyvoláte tuto nabídku)
14+
```java
15+
setMnemonicParsing(true);
16+
```
17+
### MenuItem
18+
- jedna položka v Menu, není rolovatelná, jedná se o konkrétní operaci
19+
- defakto se jedná o ekvivalenci pro Button v nabídce
20+
- je možné definovat akcelerátory (klávesové zkratky)
21+
```java
22+
menuItem.setAccelerator(KeyCombination.keyCombination(“Shift+Ctrl+F8”));
23+
```
24+
### SeparatorMenuItem
25+
- nemá žádnou funkci
26+
- je to pouze oddělovač nesouvisejících voleb
27+
### CheckMenuItem / RadioMenuItem
28+
- obdoba RadioButtonu (1:N) a CheckBox (M:N)
29+
30+
Příklad:
31+
```java
32+
MenuBar mb = new MenuBar();
33+
Menu m = new Menu(“File”);
34+
MenuItem mi= new MenuItem(“Open”);
35+
mi.setAccelerator(KeyCombination.keyCombination(“Ctrl+O”));
36+
m.getItems().add(mi);
37+
mb.getMenus().add(m);
38+
```
39+
Kontextové menu (PopUp menu)
40+
41+
Místo MenuBar používáme objekt typu ContextMenu.
42+
Příklad:
43+
```java
44+
ContextMenu cm = new ContextMenu();
45+
MenuItem mic = new MenuItem(“Clear”);
46+
Menu mc = Menu(“Volby”);
47+
MenuItem micv = MenuItem(“Add”);
48+
mc.getItems().add(micv);
49+
cm.getItems().addAll(mic, mc);
50+
TextField display = new TextField();
51+
display.setOnContextMenuRequested(new EventHander<ContextMenuEvent>(){
52+
public void handle(ContextMenuEvent e){
53+
contextMenu.show(display, e.getScreenX(), e.getScreenY());
54+
}
55+
})
56+
```

prg/udalosti.md

Whitespace-only changes.

0 commit comments

Comments
 (0)