Das letzte Programmbeispiel soll um eine ``geheimnisvolle'' Schaltfläche ergänzt werden. Um dem Benutzer dennoch Auskunft über sie zu geben, wird ein Hilfetext angezeigt, wenn der Mauszeiger eine Zeit lang über der Schaltfläche verharrt.
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class AuswahlHilfe extends JApplet
implements ItemListener, ActionListener {
Choice auswahl;
JButton was;
boolean toggle = true;
String hilfe;
public void init() {
Container c = getContentPane();
c.setLayout(new FlowLayout());
was = new JButton("was ?");
c.add(was);
hilfe = "Hier invertieren Sie die Vordergrund- und Hintergrundfarbe " +
"der untenstehenden Anzeige ... ";
was.setToolTipText(hilfe);
was.addActionListener(this);
auswahl = new Choice();
auswahl.add("Linux");
auswahl.add("MacOS");
auswahl.add("Novell");
auswahl.add("Solaris");
auswahl.add("UNIX");
auswahl.add("Windows");
c.add(auswahl);
auswahl.addItemListener(this);
}
public void itemStateChanged(ItemEvent ie) {
repaint();
}
public void actionPerformed(ActionEvent ae) {
if (ae.getSource()==was) {
if (toggle == true) toggle = false;
else toggle = true;
}
repaint();
}
public void paint (Graphics bs) {
String betriebssystem = auswahl.getSelectedItem();
if (toggle == true) {
bs.setColor(Color.yellow);
bs.fillRect(30,65,100,20);
bs.setColor(Color.blue);
bs.drawString(betriebssystem, 40, 80);
}
if (toggle == false) {
bs.setColor(Color.blue);
bs.fillRect(30,65,100,20);
bs.setColor(Color.yellow);
bs.drawString(betriebssystem, 40, 80);
}
}
}