站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题事件监听.疑问100分

事件监听.疑问100分

摘要: 事件监听.疑问100分


/**
*这个程序中加的事件监听没什么没有用!它监听第一次,好像是闪了一下,但只要TextArea出现之后,就不起作用了!是不是因为TextArea占满了整个JWindow,就不行了呢?如果我要实现把鼠标移上去,就显示大窗口,移走就显示小窗口,应该怎么做呢?
*/
package everyday;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class MyWindow extends JWindow implements MouseListener{
public MyWindow(Frame owner) {
super(owner);
init();
addMouseListener(this);
}
private void addThings() {
nowDayText = new javax.swing.JTextPane();
jScrollPane1 = new javax.swing.JScrollPane(nowDayText);
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
setBounds((screenSize.width-415)/2, (screenSize.height-333)/2, 415, 333);
setVisible(true);
}
public static void main(String args[])
{
MyWindow me=new MyWindow(new JFrame());
me.setSize(120, 50);
me.setLocation(500,50);
me.show();
}
public MyWindow(Window owner){
super(owner);
init();
addMouseListener(this);}
public MyWindow(Window owner, GraphicsConfiguration gc){
super(owner,gc);
init();
addMouseListener(this);}
public void init()
{
setSize(410,315);
setLocation(500,50);
addThings();
}
public void mouseClicked(MouseEvent e)
{}
public void mouseEntered(MouseEvent e)
{
setSize(410,315);
setLocation(500,50);
repaint();
}
public void mouseExited(MouseEvent e)
{
setSize(120, 50);
setLocation(500,50);
getContentPane().add(jScrollPane1);
repaint();
}
public void mousePressed(MouseEvent e)
{}
public void mouseReleased(MouseEvent e)
{}
// 变量声明 - 不进行修改//GEN-BEGIN:variables
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextPane nowDayText;
// 变量声明结束//GEN-END:variables
}


没错啊。在机器上测试是:
鼠标在上边就变大,移走就是变小。


检查你机器IE是不是有问题,在其它浏览器上试下看看如何


lz要implements MouseListener 也就是做了个java.awt.event.MouseAdapter的功能
然后又要extends JWindow 做一个窗口。
常用的做法是写一个监听类
class myMouseAdapter
extends java.awt.event.MouseAdapter {
myWindow adaptee;

myMouseAdapter(myWindow adaptee) {
this.adaptee = adaptee;
}

public void mouseClicked(MouseEvent e){}

public void mouseEntered(MouseEvent e){
setSize(410,315);
setLocation(500,50);
repaint();
}

public void mouseExited(MouseEvent e){
setSize(120, 50);
setLocation(500,50);
getContentPane().add(jScrollPane1);
repaint();
}

public void mousePressed(MouseEvent e){}

public void mouseReleased(MouseEvent e){}
}

然后在myWindow里面加上
addMouseListener(new myMouseAdapter(this));
功能应该就可以实现了


lz的没错 我这里也可以跑的通


顶一下,顺便学习


对啊,我在eclipse上面测试没有什么问题啊


第一次放上去能行...
但,你移开后,再把鼠标放进去,就不行了!


to:wunan320
照你那改了之后,还是一样的,
第一次放进去能行...出来再放进去就不行了!


upup


没什么问题啊,LZ


to:liu103bing(爬虫)
每一次都可以吗?
我这里只能第一次可能,
第二次就不行了!


问题解决了!!!谢谢大家观注了!!!


我的天,拜托你写一下注释~~


↑返回目录
前一篇: 关于在jar包中的js文件
后一篇: 请问java中this的这种用法?DnDExample.this.dispose()