Maak een Applet waarbij de gebruiker een willekeurig aantal berichten op het scherm kan tonen.
Berichten.html
<HTML>
<HEAD>
<TITLE>Applets oefening A</TITLE>
</HEAD>
<BODY bgcolor="#ccffcc">
<h2>Applets: oefening 1</h2>
<P>
<APPLET code="Berichten.class" width=300 height=100>
<param name="titel" value="Berichten uit de Java-cursus">
<param name="bericht1" value="Welkom op deze Java-Applet">
<param name="bericht2" value="Gemaakt in het IVO-Brugge">
<param name="bericht3" value="Hopelijk vind je het interessant...">
<param name="bgc" value="204,255,204">
<param name="fgc" value="153,0,0">
<param name="toontijd" value="3000">
</APPLET>
</P>
</BODY>
</HTML>
Berichten.java
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
public class Berichten extends javax.swing.JApplet {
ArrayList berichten = new ArrayList();
int hb = 0; //huidig bericht
public void init() {
int tijd;
initComponents();
String titel = getParameter("titel");
if(titel != null){
lblTitel.setText(titel);
}
String bgkleur = getParameter("bgc");
try{
jPanel1.setBackground(maakKleur(bgkleur));
} catch (Exception e){
jPanel1.setBackground(Color.WHITE);
}
String fgkleur = getParameter("fgc");
try{
lblBoodschap.setForeground(maakKleur(fgkleur));
}catch(Exception e){
jPanel1.setForeground(Color.BLACK);
}
try{
tijd = Integer.parseInt(getParameter("toontijd"));
}
catch(NumberFormatException e){
tijd = 5000;
}
laadBerichten();
if(berichten.size()>0){
lblBoodschap.setText(berichten.get(hb).toString());
javax.swing.Timer timer = new javax.swing.Timer(tijd, new ActionListener() {
public void actionPerformed(ActionEvent evt) {
hb++;
if(hb == berichten.size()) hb=0;
lblBoodschap.setText(berichten.get(hb).toString());
}
});
timer.start();
}else{
lblBoodschap.setText("Geen berichten ontvangen...");
}
}
public Color maakKleur(String kleur){
Color Nkleur = null;
String rgb[] = kleur.split(",");
if(rgb.length >= 3){
Nkleur = new Color(Integer.parseInt(rgb[0]),Integer.parseInt(rgb[1]),Integer.parseInt(rgb[2]));
}
return Nkleur;
}
public void laadBerichten(){
int teller = 1;
while(true){
String bericht = getParameter("bericht" +teller);
if(bericht == null) break;
berichten.add(bericht);
teller++;
}
}
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
lblTitel = new javax.swing.JLabel();
lblBoodschap = new javax.swing.JLabel();
jPanel1.setLayout(new javax.swing.BoxLayout(jPanel1, javax.swing.BoxLayout.Y_AXIS));
jPanel1.setBorder(new javax.swing.border.CompoundBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0), 1, true), new javax.swing.border.EmptyBorder(new java.awt.Insets(10, 10, 10, 10))));
lblTitel.setFont(new java.awt.Font("Arial", 1, 14));
lblTitel.setText("Berichten");
lblTitel.setBorder(new javax.swing.border.EmptyBorder(new java.awt.Insets(1, 1, 20, 1)));
jPanel1.add(lblTitel);
lblBoodschap.setText("Starttekst");
jPanel1.add(lblBoodschap);
getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);
}
// Variables declaration - do not modify
private javax.swing.JPanel jPanel1;
private javax.swing.JLabel lblBoodschap;
private javax.swing.JLabel lblTitel;
// End of variables declaration
}