62,614
社区成员
发帖
与我相关
我的任务
分享
//<8.4>GUI组件上的图形操作:
//1. Graphics类:
//还是通过画线例子吧……….
//代码;
import java.awt.*;
import java.awt.event.*;
public class DrawLine
{
Frame f=new Frame("画线");
public static void main(String [] args)
{
new DrawLine().init();
}
public void init()
{
f.setSize(300,300);
f.setVisible(true);
f.addMouseListener(new MouseAdapter()
{
int orgX;
int orgY;
public void mousePressed(MouseEvent e)
{
orgX=e.getX();
orgY=e.getY();
}
public void mouseReleased(MouseEvent e)
{
Graphics g=f.getGraphics();
g.setColor(Color.red);
g.drawLine(orgX,orgY,e.getX(),e.getY());
}
});
}
}
import java.awt.*;
import java.awt.event.*;
public class ReDrawLine extends Frame
{
int orgX;
int orgY;
int endX;
int endY;
public static void main(String[] args)
{
ReDrawLine rdl = new ReDrawLine(); rdl.init();
}
public void paint(Graphics g)
{
g.drawLine(orgX,orgY,endX,endY);
}
public void init()
{
this.addMouseListener(new MouseAdapter(){
public void mousePressed(MouseEvent e)
{
orgX=e.getX();
orgY=e.getY();
}
public void mouseReleased(MouseEvent e)
{
endX=e.getX();
endY=e.getY();
Graphics g = getGraphics();
g.setColor(Color.RED);
g.setFont(new Font(null,Font.ITALIC|Font.BOLD,30));//设置文本的字体
g.drawString(orgX+","+orgY,orgX,orgY);
g.drawString(endX+","+endY,endX,endY);//打印鼠标释放时的坐标文本
g.drawLine(orgX,orgY,endX,endY);
}
});
this.setSize(300,300);
this.setVisible(true);
}
}