Hallo,
ich schreibe ein kleines Applet, das ein Männchen zeigt, dass wiederum über Sprechblasen was sagt...
Dabei benutze ich JLabels um Bilder vom offenen oder geschlossenen Mund zu zeichnen und möchte in JPanel als GlassPane darüber legen und dort die Sprechblasen zeichen. Die Schrift kann ich aber nicht sehen, warum?`
Also, ich denke der Aufbau ist klar..die obere KLasse ist das Applet die untere die Sprechblase;-)
Aber ich verstehe jetzt nicht, warum mein String "Hello" nicht angezeigt wird?
ich schreibe ein kleines Applet, das ein Männchen zeigt, dass wiederum über Sprechblasen was sagt...
Dabei benutze ich JLabels um Bilder vom offenen oder geschlossenen Mund zu zeichnen und möchte in JPanel als GlassPane darüber legen und dort die Sprechblasen zeichen. Die Schrift kann ich aber nicht sehen, warum?`
Code:
import javax.swing.JApplet;
import java.io.Serializable;
import javax.swing.JOptionPane;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import java.awt.FlowLayout;
import java.lang.InterruptedException;
public class Quasel extends JApplet implements Serializable, Runnable{
static final long serialVersionUID = 1;
ImageIcon quaIcon = new ImageIcon(Quasel.class.getResource("quasel1.jpg"));
ImageIcon quaIcon_offen = new ImageIcon(Quasel.class.getResource("quasel_offen1.jpg"));
JLabel qua = new JLabel(quaIcon);
JLabel qua_offen = new JLabel(quaIcon_offen);
Thread tt = new Thread(this);
public Quasel() {
}
public void init() {
resize(240, 298);
setLayout(new FlowLayout());
add(qua);
Sprechblase sp = new Sprechblase();
setGlassPane(sp);
setVisible(true);
//tt.start();
//Hi anzeigen
}
public void start() {
repaint();
}
public void stop() {
/*JOptionPane.showMessageDialog(this, "Wie, du willst schon gehen?", "Schon abhauen?", JOptionPane.INFORMATION_MESSAGE);
while (true) {
JOptionPane.showMessageDialog(this, "Langweiler!, Langweiler!, Langweiler!", "Du Langweiler!", JOptionPane.INFORMATION_MESSAGE);
}*/
}
public void run() {
while (true) {
setVisible(false);
remove(qua);
add(qua_offen);
setVisible(true);
try {
Thread.sleep(150);
} catch (InterruptedException e) {
}
setVisible(false);
remove(qua_offen);
add(qua);
setVisible(true);
try {
Thread.sleep(150);
} catch (InterruptedException e) {
}
}
}
}
Code:
import javax.swing.JPanel;
import java.io.Serializable;
import java.awt.Graphics;
import java.awt.Font;
class Sprechblase extends JPanel implements Serializable {
static final long serialVersionUID = 1;
public Sprechblase() {
repaint();
}
public void paint(Graphics g) {
setFont( new Font( "Serif", Font.BOLD, 20 ) );
g.drawString("Hello", 0, 0);
}
}
Also, ich denke der Aufbau ist klar..die obere KLasse ist das Applet die untere die Sprechblase;-)
Aber ich verstehe jetzt nicht, warum mein String "Hello" nicht angezeigt wird?