Ladda ner presentationen
Presentation laddar. Vänta.
Publicerades avJohan Larsson
1
Föreläsning 9 Arv kap 8.1 Interface kap 9.2 Grafiska användargränssnitt (GUI) kap 10
2
Arv När man skapar en ny klass kan man låta den ärva metoder och data från en klass som redan finns. Den existerande klassen kallas superklass. Den klassen som ärver metoder och data kallas subklass.
3
extends Ordet extends används vid deklaration av subklassen class Cirkel extends Applet { } Klassen Cirkel blir nu subklass till Applet och ärver t ex metoden paint() från Applet.
4
super Om man i subklassen vill hänvisa till superklassen skriver man super. Konstruktorn ärvs aldrig. För att anropa superklassens konstruktor kan man skriva super(); För att anropa en metod som ligger i superklassen kan man skriva super.metod();
5
interface Ett interface används ungefär som en fördefinierad klass. Metoder i ett interface har givna namn men man måste själv tala om vad metoderna ska göra. Ordet implements används när man deklarerar en klass som ska använda ett interface: class TextInmatning implements ActionListener { }
6
Händelsestyrda program I vanliga program utförs satserna i main- metoden - sen avslutas programmet. I ett händelsestyrt program styr användaren vad som ska göras och när, genom att trycka på knappar, välja menyalternativ osv.
7
Grafiska användargränssnitt Består av: –grafiska komponenter (knappar, menyer, mm) På engelska: GUI components –layout (hur komponenterna placeras ut i fönstret) På engelska: Layout managers –hantering av händelser (t ex en knapptryckning) På engelska: Event handling
8
Grafiska komponenter Label - används för textutskrifter. Label fråga = new Label(”Ge temp:”); add(fråga); TextField - kan användas för textinmatning. TextField indata = new TextField(”-”); add(indata); String texten = indata.getText(); Button en knapp att trycka på. Button knapp = new Button(”Tryck!”); add(knapp);
9
Layout FlowLayout - komponenterna placeras ut radvis från vänster till höger. –setLayout(new FlowLayout()); GridLayout - rader och kolumner BorderLayout - en komponent kan placeras i North, East, South, West eller Center CardLayout - som spelkort (med överlapp) GridBagLayout - variant av GridLayout
10
Händelser (events) Programmet måste reagera på att en händelse har inträffat. Man definierar särskilda klasser: lyssnare som väntar på att en händelse ska inträffa. I programmet finns: –Kod som visar komponenterna –Lyssnare som väntar på händelser –Metoder som utförs när en händelse inträffat.
11
Hur gör man? Den klass där lyssnaren ligger måste implementera ett lyssnar-interface: class Fönster extends Frame implements ActionListener{ } En komponent måste associeras med lyssnaren: knapp.addActionListener(this);
12
Man måste definiera en metod som talar om vad som ska göras vid en händelse. public void actionPerformed(ActionEvent e) { duk.kastaMyntet(); }//Metoden actionPerformed
Liknande presentationer
© 2024 SlidePlayer.se Inc.
All rights reserved.