Java初学者,请各位帮帮忙
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MouseDemo2 extends JFrame implements MouseListener, MouseMotionListener
{
int flag;
int x = 0;
int y = 0;
int startx, starty, endx, endy;
public MouseDemo2()
{
Container contentPane = getContentPane();
contentPane.addMouseListener(this);
contentPane.addMouseMotionListener(this);
setSize(300, 300);
setVisible(true);
addWindowListener(new WindowAdapter() {
public void widowClosing(WindowEvent e)
{
System.exit(0);
}});
}
public void mousePressed(MouseEvent e)
{
startx = e.getX();
starty = e.getY();
}
public void mouseReleased(MouseEvent e)
{
endx = e.getX();
endy = e.getY();
}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mouseClicked(MouseEvent e) {}
public void mouseMoved(MouseEvent e)
{
flag = 1;
x = e.getX();
y = e.getY();
repaint();
}
public void mouseDragged(MouseEvent e)
{
flag = 2;
x = e.getX();
y = e.getY();
repaint();
}
public void update(Graphics g)
{
g.setColor(this.getBackground());
g.fillRect(0, 0, getWidth(), getHeight());
paint(g);
}
public void paint(Graphics g)
{
g.setColor(Color.black);
if(flag == 1)
{
g.drawString("鼠标坐标:("+x+", "+y+")", 10, 50);
g.drawLine(startx, starty, endx, endy);
}
if(flag == 2)
{
g.drawString("拖拽鼠标坐标: ("+x+", "+y+")", 10, 50);
g.drawLine(startx, starty, x, y);
}
}
public static void main(String[] args)
{
new MouseDemo2();
}
}
运行老是出问题,直线画不出来,请高手指教啊!
import java.awt.event.*;
import javax.swing.*;
public class MouseDemo2 extends JFrame implements MouseListener, MouseMotionListener
{
int flag;
int x = 0;
int y = 0;
int startx, starty, endx, endy;
public MouseDemo2()
{
Container contentPane = getContentPane();
contentPane.addMouseListener(this);
contentPane.addMouseMotionListener(this);
setSize(300, 300);
setVisible(true);
addWindowListener(new WindowAdapter() {
public void widowClosing(WindowEvent e)
{
System.exit(0);
}});
}
public void mousePressed(MouseEvent e)
{
startx = e.getX();
starty = e.getY();
}
public void mouseReleased(MouseEvent e)
{
endx = e.getX();
endy = e.getY();
}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mouseClicked(MouseEvent e) {}
public void mouseMoved(MouseEvent e)
{
flag = 1;
x = e.getX();
y = e.getY();
repaint();
}
public void mouseDragged(MouseEvent e)
{
flag = 2;
x = e.getX();
y = e.getY();
repaint();
}
public void update(Graphics g)
{
g.setColor(this.getBackground());
g.fillRect(0, 0, getWidth(), getHeight());
paint(g);
}
public void paint(Graphics g)
{
g.setColor(Color.black);
if(flag == 1)
{
g.drawString("鼠标坐标:("+x+", "+y+")", 10, 50);
g.drawLine(startx, starty, endx, endy);
}
if(flag == 2)
{
g.drawString("拖拽鼠标坐标: ("+x+", "+y+")", 10, 50);
g.drawLine(startx, starty, x, y);
}
}
public static void main(String[] args)
{
new MouseDemo2();
}
}
运行老是出问题,直线画不出来,请高手指教啊!
...全文
相关推荐
java小项目 适合初学者
本文将探讨适合初学者的Java小型项目,以及它们如何成为学习Java的宝贵资源。首先,我们需要了解为何Java适合初学者。
java基础教程,各位初学者请看
通过以上详细解析,我们不仅了解了Java程序的基本结构,还学习了如何正确地编写`main`方法以及一些常见的关键字和语法。这对于Java初学者来说是非常重要的基础知识。
计算整数各位数字之和,利用java代码实现
### 计算整数各位数字之和的Java实现#### 知识点一:问题定义与分析在本篇教程中,我们将探讨如何通过Java编程语言来计算一个整数各个位上的数字之和。
demo项目java初学者可以看看
【标题】"demo项目java初学者可以看看"指的是一个适合Java初学者的示例项目,旨在帮助新手了解和学习Java编程。
JAVA初学者项目
以上是基于给定的代码片段中提取的一些重要知识点,它们涵盖了Java语言的基本用法、数据结构的应用以及控制流的设计等多个方面。对于Java初学者来说,掌握这些知识点是非常有帮助的。


Java SE
