kirve1-9-8-8
Grünschnabel
hallo leute ich muss ein Java programm schreiben wo eine windmühle isch dreht. soll auch gescshwindigkeit und größe veränderbar sein doch das als letzteres. ich kriege das mit dem repaint nicht hin sodass er die flügel neuzeichnet also dass es dann os aussieht als ob er sich dreht. stattdessen zeichnet der die nuen linien einfach drüber und die laten bleiben auch.
könnt ihr mir sagen was ich in der repaint methode falsch mache?
könnt ihr mir sagen was ich in der repaint methode falsch mache?
Code:
import java.awt.*;
import java.awt.event.*;
import java.awt.Scrollbar;
class GUI extends Frame
{
Panel panel = new Panel();
Panel panel2 = new Panel();
Scrollbar sb = new Scrollbar(Scrollbar.VERTICAL,0,1,1,100);
Scrollbar sb2 = new Scrollbar(Scrollbar.VERTICAL,0,1,1,100);
Label valueLabel = new Label("0");
Label valueLabel2 = new Label("0");
public void paint(Graphics k)
{
k.drawLine(200,440,400,440);
k.drawLine(200,440,300,200);
k.drawLine(400,440,300,200);
k.fillRoundRect(295,195,10,10,10,10);
k.drawLine(300,130,300,280);
k.drawLine(230,200,380,200);
repaint();
{
k.drawLine(260,130,320,280);
k.drawLine(230,170,380,250);
}
}
GUI()
{
setTitle("Scollbar");
setBackground(Color.white);
//setResizable(false);
sb.setBackground(Color.red);
sb.addAdjustmentListener(new ScrollListener());
sb2.addAdjustmentListener(new ScrollListener2());
addWindowListener(new Schließen());
panel.setLayout(new GridLayout(1, 1, 10, 10));
add(panel, BorderLayout.EAST);
// add(panel2, BorderLayout.CENTER);
panel.add(sb);
panel.add(sb2);
panel.add(valueLabel);
panel.add(valueLabel2);
setVisible(true);
}
class ScrollListener implements AdjustmentListener
{
public void adjustmentValueChanged(AdjustmentEvent e)
{
int value = e.getValue();
valueLabel.setText(String.valueOf(value));
}
}
class ScrollListener2 implements AdjustmentListener
{
public void adjustmentValueChanged(AdjustmentEvent e)
{
int value2 = e.getValue();
valueLabel2.setText(String.valueOf(value2));
}
}
class Schließen extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
e.getWindow().dispose();
System.exit(0);
}
}
}