Hi,
so sind mehrere Beispiele im Buch implementiert die nicht funktionieren:
durch eine Anschliessende Korrektur, geht schließlich das Applet:
Ich will auf das hier anspielen:
Wie kommt der Autor auf so einen Schwachsinn, wenn hier nirgendwo die Variablen width und height implementiert sind? Ich habe extra noch den Source-Code runtergeladen, um vergewissen zu können, dass das kein Druckfehler ist.
Oder ist das zwar ein Fehler, lässt sich aber auch anders beheben?
Liebe Grüße
Reality
so sind mehrere Beispiele im Buch implementiert die nicht funktionieren:
Code:
// Rollbalken
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
/*
<applet code="RBDemo" width=300 height=200>
</applet>
*/
public class RBDemo extends Applet
implements AdjustmentListener, MouseMotionListener {
String msg = "";
Scrollbar vertSB, horzSB;
public void init() {
int width = Integer.parseInt(getParameter("width"));
int height = Integer.parseInt(getParameter("height"));
vertSB = new Scrollbar(Scrollbar.VERTICAL,
0, 1, 0, height);
horzSB = new Scrollbar(Scrollbar.HORIZONTAL,
0, 1, 0, width);
add(vertSB);
add(horzSB);
// Registrierung für den Empfang von Einstellungsereignissen
vertSB.addAdjustmentListener(this);
horzSB.addAdjustmentListener(this);
addMouseMotionListener(this);
}
public void adjustmentValueChanged(AdjustmentEvent ae) {
repaint();
}
// Aktualisierung der Rollbalken entsprechend der Koordinaten nach dem Ziehen der Maus
public void mouseDragged(MouseEvent me) {
int x = me.getX();
int y = me.getY();
vertSB.setValue(y);
horzSB.setValue(x);
repaint();
}
// Für den MouseMotionListener erforderlich
public void mouseMoved(MouseEvent me) {
}
// Den aktuellen Wert der Rollbalken anzeigen
public void paint(Graphics g) {
msg = "Vertical: " + vertSB.getValue();
msg += ", Horizontal: " + horzSB.getValue();
g.drawString(msg, 6, 160);
// Die aktuelle Position der gezogenen Maus anzeigen
g.drawString("*", horzSB.getValue(),
vertSB.getValue());
}
}
durch eine Anschliessende Korrektur, geht schließlich das Applet:
Code:
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class RBDemo extends Applet implements AdjustmentListener{
String msg = "";
Scrollbar vertSB, horzSB;
public void init(){
vertSB = new Scrollbar(Scrollbar.VERTICAL, 0, 1, 0, 30);
horzSB = new Scrollbar(Scrollbar.HORIZONTAL, 0, 1, 0, 30);
add(vertSB);
add(horzSB);
vertSB.addAdjustmentListener(this);
horzSB.addAdjustmentListener(this);
addMouseMotionListener(new MouseMotionAdapter(){
public void mouseDragged(MouseEvent me){
int x = me.getX();
int y = me.getY();
vertSB.setValue(y);
horzSB.setValue(x);
repaint();
}
});
}
public void adjustmentValueChanged(AdjustmentEvent ae){
repaint();
}
public void paint(Graphics g){
msg = "Vertical: " + vertSB.getValue();
msg += ", Horinzotal: " + horzSB.getValue();
g.drawString(msg, 6, 160);
g.drawString("*", horzSB.getValue(), vertSB.getValue());
}
}
Ich will auf das hier anspielen:
Code:
int width = Integer.parseInt(getParameter("width"));
int height = Integer.parseInt(getParameter("height"));
Wie kommt der Autor auf so einen Schwachsinn, wenn hier nirgendwo die Variablen width und height implementiert sind? Ich habe extra noch den Source-Code runtergeladen, um vergewissen zu können, dass das kein Druckfehler ist.
Oder ist das zwar ein Fehler, lässt sich aber auch anders beheben?
Liebe Grüße
Reality