Presentation laddar. Vänta.

Presentation laddar. Vänta.

OOP&M - teori1 OOP del III– Vecka 10 Händelser Kontrollkomponenter (Components) Featuring: Applets.

Liknande presentationer


En presentation över ämnet: "OOP&M - teori1 OOP del III– Vecka 10 Händelser Kontrollkomponenter (Components) Featuring: Applets."— Presentationens avskrift:

1 OOP&M - teori1 OOP del III– Vecka 10 Händelser Kontrollkomponenter (Components) Featuring: Applets

2 OOP&M - teori2 GUI Består av: Containers – Behållare tex: JFrame, JApplet, JWindow, LayoutManagers – Bestämmer hur layouten byggs upp tex: GridLayout, BorderLayout. Kontrollkomponenter – tex: JButton, JCheckBox, JOptionPane Händelselyssnare och Händelsehanterare– Kopplas till de olika kontrollkomponenter för att ge önskat resultat.

3 OOP&M - teori3 GUI-Struktur Vi låter två filer bära strukturen för vårt grafiska gränssnitt Funktionaliteten placeras i klassen Application Användargränsittet placeras i klassen GUI Förutom ovanstående filer kan det finnas ett flertal andra klasser som bygger upp applikationen och användargränssnittet

4 OOP&M - teori4 GUI-delar 1 Består av: Containers – Behållare tex: –JFrame – startbehållare för en applikation –JApplet - startbehållare för applet –JPanel – tom behållare bra till knappar bilder mm –JDialog - tomt dialogfönster bra till inställningar mm LayoutManagers –GridLayout –Layout som rutmönster med lika stora områden –BorderLayout – Layout med fem områden NORTH,EAST,WEST,SOUTH,CENTER –FlowLayout Komtrollkomponenterna läggs ut efter varandra på en eller flera rader

5 OOP&M - teori5 GUI-delar 2 Kontrollkomponenter – bas –JButton - knapp –JCheckBox - kryssruta –JRadioButton - rund kryssruta kopplas ofta ihop till ButtonGroup –JComboBox - Drop-Downlista (enbart ett val) –JList - Lista i fönster kombineras ofta med JScrollPane –JLabel - Icke editerbart fält för text o bild –JTextFields - editerbart fält med en rad –JTextArea - editerbart fält med flera rader –JOptionPane - färdiga modala dialogrutor. Övrigt –Border - skapar ram runt komponent –JScrollPane - ger komponent scroll-lister

6 OOP&M - teori6 GUI-delar 3 Händelseklasser och lyssnarklasser finns i dessa paket: –java.awt.event.* –javax.swing.event.*; AWT - händelser och lyssnare används av Swing- komponenter. Dessutom finns det specifika swing -händelser och lyssnare för komponenter som inte finns i awt. exempel ListSelectionEvent och ListSelectionListener för bland annat komponenten JList.

7 OOP&M - teori7 GUI-Struktur-Applet Vi låter två filer bära strukturen för Applet Funktionaliteten placeras i klassen Application Användargränssnittet placeras i klassen Applet. Klassen Applet utvidgar JApplet överskuggar void metoden init som anropas då appleten laddas. Vi har en html fil som refererar och bakar in appleten i Appletfilen. Förutom ovanstående filer kan det finnas ett flertal andra klasser som bygger upp appleten och applicationen.

8 OOP&M - teori8 GUI-Struktur-Applet Exempel på metoder i JApplet man kan göra override (överskugga) på init() anropas då appletten laddas första gången. Överskuggas alltid. start() anropas då appleten blir synlig efter att ha varit dold. Överskuggas om man till exempel vill ha en animering igång. stop() anropas då appletten döljs kan spara systemresurser tillsammans med start(). destroy() anropas då appletten tas bort ur sidan. Används om man vill städa.

9 OOP&M - teori9 GUI-Icons Användningsområde: På knappar och JLabels mm Skapas: Icon myIcon; myIcon = new ImageIcon(” "); Iconer kan vara jpg eller gif. Ofta använda metoder: setIcon setRolloverIcon mfl

10 OOP&M - teori10 GUI-Buttons Användningsområde: När man skall välja mellan ett fåtal alternativ Skapas: JButton myButton = new JButton( ); Ofta använda metoder: getText (För att avgöra vilken knapp som tryckts ner) setText getName (namn som kan användas oberoende av text) setName mfl

11 OOP&M - teori11 GUI-CheckBoxes -RadioButtons Används för att välja bland ett fåtal alternativ. Antingen som kryssrutor (CheckBoxes) eller knappar (RadioButtons). Bägge kan läggas till en ButtonGroup för att koppla dem till varandra så inte mer än en kan väljas. JCheckBox myButton = new JCheckBox( ); JRadioButton myButton = new JRadioButton( ); Vanliga Metoder: isSelected

12 OOP&M - teori12 GUI-ListBoxes-ComboBox ComboBox är en droppdownmeny där man kan välja ett alternativ. Passar när man har upp till ca 20 alternativ ListBoxes är en ruta där alla alternativ visas och man kan välja ett eller flera. Kan göras Scrollbar. Lämplig för många alternativ (obs swing event modell). JListBox myList = new JListBox( ); JComboBox myCombo = new JComboBox( ); vanliga metoder JComboBox getSelectedItem JListBox getSelectedValue getSelectedValues

13 OOP&M - teori13 GUI-TextFields TextArea JTextField är för text som består av en rad JTextArea för text över flera rader JTextArea(String text, int rows, int columns) JTextField(String text,int columns) metoder getText setText För TextArea append

14 OOP&M - teori14 GUI-JScrollPane och Border Border Border lägger en ram runt en komponent. Exempel på Borders (LineBorder, TitledBorder, MatteBorder mfl) Border sätts med setBorder för alla komponenter (Subklasser till JComponent) ScrollPane ScrollPane ger en komponent scroll-möjligheter myScrollPane =new JScrollPane(Component tex TextArea)

15 OOP&M - teori15 GUI-delar 3 Händelseklasser och lyssnarklasser finns i dessa paket: –java.awt.event.* –javax.swing.event.*; AWT - händelser och lyssnare används av Swing- komponenter. Dessutom finns det specifika swing -händelser och lyssnare för komponenter som inte finns i awt. exempel ListSelectionEvent och ListSelectionListener för bland annat komponenten JList.

16 OOP&M - teori16 GUI-3 Händelser några exempel Händelselyssnare-Händelsehanterare-Metod för att lägga till en lyssnare på en komponent (exempel på komponenter som stöder händelsen) –ActionEvent-ActionListener-addActionListener (JButton, JTextField) –FocusEvent-FocusListener-addFocusListener (Subklasser till Component) –KeyEvent-KeyListener - addKeyListener(Subbklasser till Component) Gränssnitten händelselyssnare och deras metoder –ActionListener actionPerformed(ActionEvent) –FocusListener, FocusAdapter focusGained(FocusEvent) focusLost(FocusEvent) –KeyListener,KeyAdapter keyPressed(KeyEvent) keyReleased(KeyEvent) keyTyped(KeyEvent)

17 OOP&M - teori17 Händelse med inre lyssnarklass //Händelser MouseListener inre klass class ML implements MouseListener{ public void mouseEntered(MouseEvent e){ } public void mouseExited(MouseEvent e){ } public void mouseClicked(MouseEvent e){ } public void mousePressed(MouseEvent e){ } public void mouseReleased(MouseEvent e){ } ML ml; ml = new ML(); win.addMouseListener(ml);

18 OOP&M - teori18 Händelse med anonym inre lyssnarklass win.addMouseMotionListener(new MouseMotionListener() { public void mouseDragged(MouseEvent e) { //kod för händelsen } public void mouseMoved(MouseEvent e) { //kod för händelsen } });

19 OOP&M - teori19 ?


Ladda ner ppt "OOP&M - teori1 OOP del III– Vecka 10 Händelser Kontrollkomponenter (Components) Featuring: Applets."

Liknande presentationer


Google-annonser