如何使用applet单击按钮绘制一条线

时间:2013-05-26 15:06:46

标签: java event-handling awt

我是java的初学者,在使用a在applet中绘制线条时遇到了问题     按钮click.Please帮我解决这个问题。     p.s.-我不知道挥杆或其他高级部分。 它绘制并发线,也是最大化小程序,只有最后绘制的线是可见的。请帮助解决这个问题。点击另一个点,先前绘制的线条消失。我想制作一个程序,点击一个按钮画线,它们不应该消失。

//program to draw lines
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
/*
<applet code=xy width=200 height=200>
</applet>
*/
public class xy extends Applet implements MouseListener,ActionListener
{   Button b;
int x1, y1,x2,y2;

    public void init()
{b=new Button();    
add(b);     
x1=y1=x2=y2=0;
b.addActionListener(this);
}

    public void actionPerformed(ActionEvent ae) 
    {
    if(ae.getSource()==b) //button click
    {
addMouseListener(this);
    }}

    public void mouseClicked(MouseEvent me) 
{
x1=me.getX();
y1=me.getY();
showStatus( "(" + x1 + "," + y1+ ")" ); 
}

    public void mousePressed(MouseEvent me)
{}
public void mouseReleased(MouseEvent me)
{
x2=me.getX();
y2=me.getY();
repaint();
}
public void mouseExited(MouseEvent me)
    {}
public void mouseEntered(MouseEvent me)
{}


    public void paint(Graphics g)
{
update(g);
}

    public void update(Graphics g)
{
    g.drawLine( x1,y1,x2,y2);
}}

1 个答案:

答案 0 :(得分:1)

您必须自己存储这些行,并在applet的每次重绘上再次绘制所有存储的行。 (如果您想使用JApplet而不是applet,请参阅http://docs.oracle.com/javase/tutorial/uiswing/painting/index.html

相关问题