当前位置: 技术问答>java相关
怎么菜单拖下来就还原不回去了---关于Java的窗口重绘问题
来源: 互联网 发布时间:2015-04-15
本文导语: 正常情况下,我编的牵涉到菜单的Java程序都运行正常,可是我最近编的一个程序确老是有问题:就是菜单点击后,比如说File菜单,然后当鼠标离开后,菜单却还显示在原处。 我的程序是这样的:在一个JFrame中放一...
正常情况下,我编的牵涉到菜单的Java程序都运行正常,可是我最近编的一个程序确老是有问题:就是菜单点击后,比如说File菜单,然后当鼠标离开后,菜单却还显示在原处。
我的程序是这样的:在一个JFrame中放一个JPanel,在JPanel中绘制直线,即每次鼠标拖动一次就划一条直线。在我的JPanel类中,响应以下三个鼠标事件:MousePressed,MouseReleased,MouseDragged。
我的程序是这样的:在一个JFrame中放一个JPanel,在JPanel中绘制直线,即每次鼠标拖动一次就划一条直线。在我的JPanel类中,响应以下三个鼠标事件:MousePressed,MouseReleased,MouseDragged。
|
看看我的简单例子, 或许对你有些帮助.
class MyPanel extends JPanel
{
int x, y;
public MyPanel()
{
addMouseMotionListener(
new MouseMotionAdapter()
{
public void mouseDragged(MouseEvent e)
{
x = e.getX();
y = e.getY();
repaint();
}
}
);
}
public void paintComponent(Graphics g)
{
g.setColor(Color.white);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(Color.black);
g.drawLine(0, 0, x, y);
}
}
class MyPanel extends JPanel
{
int x, y;
public MyPanel()
{
addMouseMotionListener(
new MouseMotionAdapter()
{
public void mouseDragged(MouseEvent e)
{
x = e.getX();
y = e.getY();
repaint();
}
}
);
}
public void paintComponent(Graphics g)
{
g.setColor(Color.white);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(Color.black);
g.drawLine(0, 0, x, y);
}
}
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。