Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałBolek Duszkiewicz Został zmieniony 10 lat temu
1
Mirosław Ochodek Miroslaw.Ochodek@put.poznan.pl Sponsorzy: JFace Jak jeszcze szybciej tworzyć interfejsy? ECESIS Eclipse Community Education Project An Eclipse Technology Research Subproject
2
UCWorkbench Team Eclipse Summer School (2) Plan JFace and SWT Rejestry Dialogi Przeglądarki Akcje
3
UCWorkbench Team Eclipse Summer School (3) JFace and SWT JFace jest nadbudówką dla SWT Dostarcza klasy wspierające Umożliwia łatwiejszą separację widoku od modelu Operating system Windowing system JNI SWT JFace
4
UCWorkbench Team Eclipse Summer School (4) Rejestry Klasy dla zarządzania zasobami (SWT) FontRegistry ImageRegistry JFaceColors JFaceResources
5
UCWorkbench Team Eclipse Summer School (5) FontRegistry FontRegistry fontRegistry = JFaceResources.getFontRegistry() FontData mainFont = new FontData("Arial", 18, SWT.NORMAL); fontRegistry.put("mainFont", new FontData[]{mainFont}); Label label = new Label(parent, SWT.HORIZONTAL); label.setText("This is main font"); label.setFont(fontRegistry.get("mainFont"));
6
UCWorkbench Team Eclipse Summer School (6) Dialogi Tworzenie dialogów w SWT/JFace SWT – tworzenie okien dialogowych krok po kroku (kontrolka za kontrolką...) JFace – szybkie i łatwe tworzenie dialogów Dialogi to najczęściej proste okna mające dużo wspólnych cech JFace dostarcza klasy z obszarami gotowymi do wypełniania
7
UCWorkbench Team Eclipse Summer School (7) InputDialog final InputDialog inputDialog = new InputDialog(parent.getShell(), "Title", "Message!", "input text here", null); final Button button = new Button(parent, SWT.PUSH); button.addSelectionListener(new SelectionAdapter(){ public void widgetSelected(SelectionEvent e) { super.widgetSelected(e); if (inputDialog.open() == Dialog.OK) { button.setText(inputDialog.getValue()); } });
8
UCWorkbench Team Eclipse Summer School (8) TitleAreaDialog Składa się z: Title line Message area (jak również error area, image) OK and Cancel buttons Przed przypisaniem obrazków, tekstu wywołaj metodę create()
9
UCWorkbench Team Eclipse Summer School (9) TitleAreaDialog final TitleAreaDialog titleAreaDialog = new TitleAreaDialog(parent.getShell()); titleAreaDialog.create(); titleAreaDialog.setTitle("Title"); titleAreaDialog.setMessage("first line\nsecond line"); final Button button = new Button(parent, SWT.PUSH); button.addSelectionListener(new SelectionAdapter(){ public void widgetSelected(SelectionEvent e) { super.widgetSelected(e); if (titleAreaDialog.open() == Dialog.OK){ button.setText("OK was pressed!"); } });
10
UCWorkbench Team Eclipse Summer School (10) Twój własny Dialog Podklasuj jedną z klas JFace Dialogs (zwróć uwagę, że są także SWT Dialogs) Przeciąż jedną z metod: createDialogArea(Composite parent) createButtonBar(Composite parent) createButtonsForButtonBar(Composite parent) createButton(Composite parent, int id, String label,boolean defaultButton) setReturnCode(int code)
11
UCWorkbench Team Eclipse Summer School (11) IAction W JFace niektóre widgety mogą być budowane za pomocą akcji (eg. Manus) IAction może mieć: Unikalne ID setId() Tekst wyświetlany w różnych miejscach (np. menu) setText() Tooltip tekst – setToolTipText() Ikony ( setImageDescriptor(), setDisableImageDescriptor()) Akcje można aktywować i dezaktywować Metoda run(), zawiera kod wykonywalny
12
UCWorkbench Team Eclipse Summer School (12) Viewers Jak zarządzać SWT Tree z klasami Person i House jako węzłami: Person Name Surname PESEL Houses House Address Residents Czy mogę zamienić osoby z domami? Co jeśli będę chciał wyświetlać tylko imię?
13
UCWorkbench Team Eclipse Summer School (13) Viewers SWT Tree ContentProvider LabelProvider John Smith (20)
14
UCWorkbench Team Eclipse Summer School (14) Viewers
15
UCWorkbench Team Eclipse Summer School (15) JFace – ale to nie koniec Dziękuje Wizards, Property pages, Text Viewers (editors) Zostaną zaprezentowane osobno
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.