import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.awt.geom.*;
import javax.swing.*;public class MainUI extends JApplet{
private JPanel panel;
private Line2D current;
private ArrayList lineList;
Point2D startPos;
Point2D endPos;
public void init()
{
panel = new JPanel();
getContentPane().add(panel);
lineList = new ArrayList();
current = null;
}
public void start(){
addMouseListener(new MouseHandler());
}
public void paintComponent(Graphics g)
{
super.paintComponents(g);
Graphics2D g2 = (Graphics2D)g;
for(int i = 0;i<lineList.size();i++)
{
g2.draw((Line2D)lineList.get(i));
}
}
private class MouseHandler extends MouseAdapter
{
public void mousePressed(MouseEvent event)
{
startPos = event.getPoint();
}
public void mouseReleased(MouseEvent event)
{
endPos = event.getPoint();
add(startPos,endPos);
}
}
public void add(Point2D sPos,Point2D ePos)
{
current = new Line2D.Double(sPos,ePos);
lineList.add(current);
repaint();
}
}我想实现的是,在panel上面画线.用linelist保存每一根线,以重绘
import java.awt.event.*;
import java.util.*;
import java.awt.geom.*;
import javax.swing.*;public class MainUI extends JApplet{
private JPanel panel;
private Line2D current;
private ArrayList lineList;
Point2D startPos;
Point2D endPos;
public void init()
{
panel = new JPanel();
getContentPane().add(panel);
lineList = new ArrayList();
current = null;
}
public void start(){
addMouseListener(new MouseHandler());
}
public void paintComponent(Graphics g)
{
super.paintComponents(g);
Graphics2D g2 = (Graphics2D)g;
for(int i = 0;i<lineList.size();i++)
{
g2.draw((Line2D)lineList.get(i));
}
}
private class MouseHandler extends MouseAdapter
{
public void mousePressed(MouseEvent event)
{
startPos = event.getPoint();
}
public void mouseReleased(MouseEvent event)
{
endPos = event.getPoint();
add(startPos,endPos);
}
}
public void add(Point2D sPos,Point2D ePos)
{
current = new Line2D.Double(sPos,ePos);
lineList.add(current);
repaint();
}
}我想实现的是,在panel上面画线.用linelist保存每一根线,以重绘
解决方案 »
- 求一个正则表达式,拆分G11G12J1J2。
- 2个int 整除并求余 有没有一个高效算法。
- 我想通过键盘向一个文件输入字符串,但是运行的结果文件是空的,大家帮我看看是什么问题吧,谢谢!
- 页面 刷新/缓存 问题
- 急!急!急!-------->關於String的問題
- 请问大家 我想编写的俄罗斯方块 ,我有2个地方不明白,不知道算法怎么实现,请帮我看看谢谢!!!
- 请问我怎么才能获得我的LOGO的十进制数值呢?
- 哪个高手能给解释一下池线程的感念啊?它用来干什么的?
- 有关java方法调用的问题~
- 在一个applet中动态的写了很多的JLabel(没有具体的名称),通过什么方式可以在符合某一条件的情况下改变某一个JLabel的文本,在不采用重新
- JB 9中代码如何对齐???
- 像vc中那样右上角有一个x的面板有对应的java组件吗?
public void paint(Graphics g)
{
super.paint(g);
Graphics2D g2 = (Graphics2D)g;for(int i = 0;i<lineList.size();i++)
{
g2.draw((Line2D)lineList.get(i));
}
}