【发布时间】:2014-01-28 04:59:03
【问题描述】:
它根本不会画画,有什么想法吗? 后面板上什么都没有显示,如何使用 mouseDragged 事件进行绘画?
我什至无法显示一行...这是源代码...我添加了 Jbutton 只是为了查看 Panel 是否实际正在显示
public class pinta extends JFrame {
HandlerClass handler=new HandlerClass();
JPanel back=new JPanel();
public pinta(){
setSize(500,500);
setResizable(true);
getContentPane().setLayout(new BorderLayout());
back.setBackground(Color.white);
back.setSize(500,500);
this.add(back);
back.add(new JButton("test"));
back.addMouseMotionListener(handler);
back.setOpaque(true);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void paintComponent(Graphics g){
super.paintComponents(g);
g.setColor(Color.black);
Graphics2D g2d = (Graphics2D)g;
g2d.fillOval(100, 100, 20, 10);
g2d.setPaintMode();
g2d.setStroke(new BasicStroke(1));
}
public class HandlerClass implements MouseMotionListener{
int x, y;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public void mouseDragged(MouseEvent e) {
x=e.getX();
y=e.getY();
}
public void mouseEntered(MouseEvent e){
}
public void mouseMoved(MouseEvent e) {
}
}
}
【问题讨论】:
标签: java swing graphics jframe paintcomponent