You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Generelt

Swing er et "lettvekter" API til å lage GUI for java. Swing har en Model-View-Controller GUI-arkitektur, som gjør det mulig å legge grafikk til kode, uten å forandre alt for mye på applikasjonen.

Med swing kan man enkelt lage "buttons", tekstfelt, "check boxes", "labels", tabeller og lister, i tillegge til en rekke andre komponenter.
For mer om komponentene og hvordan de virker, se Swing komponenter

En kort og brukbar introduksjon til Swing kan finnes her (youtube-link).

Swing timer

Swing har en spesiell timer, som egner seg til bruk mot GUI. Veldig enkelt forklart kan man bruke en swingtimer til å få komponenter til å flytte seg med veldig små tidsintervaller, i den hensikt å få en applikasjon til å se levende ut. 

Timeren fungerer slik at vi forteller den hvor ofte den skal "pipe" og hvem den skal "pipe" til, som heretter kalles timerens mottaker.
Mottakeren har en metode som timeren kjenner til, og for hvert intervall kalles denne metoden hos mottakeren (kall av denne metoden blir altså et "pip"). 

Swing Timer
// Biblioteker som må importeres
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Timer;


// Siden klassen SwingExample skal være mottaker for timeren, må den implementere interfacet ActionListner
// som vil si at klassen lover å ha metoden "actionPerformed". Timeren vil da kalle på denne metoden som et "pip"


public class SwingExample implements ActionListener {
 
	Timer timer = new Timer(100, this); // Intervallet skal være på 100 ms, og klassen er selv mottaker
	
    public SwingExample() {
    	timer.start();  // Timeren må startes
	}
 
	// For hvert intervall kalles denne metoden, og hva metoden inneholder, avgjør funksjonen av timeren
	
	public void actionPerformed(ActionEvent ae) {
		// Flytte komponenter eller lignende
	}
 

 

Mulighetene med Swing er mange, og om man vil lære seg Swing godt, må man prøve seg fram og bruke ressurser som finnes på internett.

  • No labels