键盘事件可以触发,但鼠标移动事件触发不了???就是进不了mouseMoved,为什么???
我用相同的方法作了个小例子,没问题,但一拥到这里就进不去。头痛。请大侠帮忙。import java.awt.Frame;import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.Toolkit;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
public class KVMFullScreen extends JDialog implements KeyListener {
public static KVMFullScreen fullScreen = null;
private KVMInternalFrame internalFrame; private ImagePane imagePane;
/** 工具栏 */
KVMToolBar toolbar;
private KVMFullScreen(Frame owner, boolean modal) {
super(owner, modal);
this.setUndecorated(true);
try {
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
jbInit();
pack();
} catch (Exception exception) {
exception.printStackTrace();
}
}
private void jbInit() throws Exception {
this.addKeyListener(this);
this.addMouseMotionListener(new KVM_mouseMotionAdapter(this));
} public void setInternalFrame(KVMInternalFrame internalFrame) {
this.internalFrame = internalFrame;
//将远程桌面对象贴在自己界面上
imagePane = internalFrame.getImagePane();
this.getContentPane().add(imagePane, BorderLayout.CENTER);
} public KVMInternalFrame getInternalFrame() {
return internalFrame;
} /**
* 获取实例
*/
public static KVMFullScreen getInstance(Frame frame) {
if (fullScreen == null) {
fullScreen = new KVMFullScreen(frame, true);
}
return KVMFullScreen.fullScreen;
} /**
* 显示
*/
public void fullSize() {
if (KVMFullScreen.fullScreen == null) {
return;
}
fullScreen.setSize(Toolkit.getDefaultToolkit().getScreenSize());
}
public void keyTyped(KeyEvent e) {
} public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_F8) {
//退出全屏状态
//this.getContentPane().removeAll();
this.internalFrame.setImagePane(imagePane);
this.hide();
}
this.imagePane.keyPressed(e); } public void keyReleased(KeyEvent e) {
} class KVM_mouseMotionAdapter extends MouseMotionAdapter {
private KVMFullScreen adaptee;
KVM_mouseMotionAdapter(KVMFullScreen adaptee) {
this.adaptee = adaptee;
}
public void mouseMoved(MouseEvent e) {
// adaptee.this_mouseMoved(e);
System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
if (e.getY() < 120) {
adaptee.getContentPane().removeAll();
toolbar=new KVMToolBar(adaptee.getInternalFrame());
adaptee.getContentPane().add(toolbar,BorderLayout.NORTH);
} else {
System.out.println("come in elseaaaaaaaaaaaaaaaaaaaaaa");
// this.getContentPane().removeAll();
//this.getContentPane().add(this.titleBox, BorderLayout.NORTH);
//this.getContentPane().add(this.mainFrm, BorderLayout.CENTER);
//this.getContentPane().remove(this.titleBox);
} }
}}
我用相同的方法作了个小例子,没问题,但一拥到这里就进不去。头痛。请大侠帮忙。import java.awt.Frame;import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.Toolkit;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
public class KVMFullScreen extends JDialog implements KeyListener {
public static KVMFullScreen fullScreen = null;
private KVMInternalFrame internalFrame; private ImagePane imagePane;
/** 工具栏 */
KVMToolBar toolbar;
private KVMFullScreen(Frame owner, boolean modal) {
super(owner, modal);
this.setUndecorated(true);
try {
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
jbInit();
pack();
} catch (Exception exception) {
exception.printStackTrace();
}
}
private void jbInit() throws Exception {
this.addKeyListener(this);
this.addMouseMotionListener(new KVM_mouseMotionAdapter(this));
} public void setInternalFrame(KVMInternalFrame internalFrame) {
this.internalFrame = internalFrame;
//将远程桌面对象贴在自己界面上
imagePane = internalFrame.getImagePane();
this.getContentPane().add(imagePane, BorderLayout.CENTER);
} public KVMInternalFrame getInternalFrame() {
return internalFrame;
} /**
* 获取实例
*/
public static KVMFullScreen getInstance(Frame frame) {
if (fullScreen == null) {
fullScreen = new KVMFullScreen(frame, true);
}
return KVMFullScreen.fullScreen;
} /**
* 显示
*/
public void fullSize() {
if (KVMFullScreen.fullScreen == null) {
return;
}
fullScreen.setSize(Toolkit.getDefaultToolkit().getScreenSize());
}
public void keyTyped(KeyEvent e) {
} public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_F8) {
//退出全屏状态
//this.getContentPane().removeAll();
this.internalFrame.setImagePane(imagePane);
this.hide();
}
this.imagePane.keyPressed(e); } public void keyReleased(KeyEvent e) {
} class KVM_mouseMotionAdapter extends MouseMotionAdapter {
private KVMFullScreen adaptee;
KVM_mouseMotionAdapter(KVMFullScreen adaptee) {
this.adaptee = adaptee;
}
public void mouseMoved(MouseEvent e) {
// adaptee.this_mouseMoved(e);
System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
if (e.getY() < 120) {
adaptee.getContentPane().removeAll();
toolbar=new KVMToolBar(adaptee.getInternalFrame());
adaptee.getContentPane().add(toolbar,BorderLayout.NORTH);
} else {
System.out.println("come in elseaaaaaaaaaaaaaaaaaaaaaa");
// this.getContentPane().removeAll();
//this.getContentPane().add(this.titleBox, BorderLayout.NORTH);
//this.getContentPane().add(this.mainFrm, BorderLayout.CENTER);
//this.getContentPane().remove(this.titleBox);
} }
}}
this.adaptee = adaptee;
}
adaptee.getContentPane().removeAll();
toolbar=new KVMToolBar(adaptee.getInternalFrame());
adaptee.getContentPane().add(toolbar,BorderLayout.NORTH);
}
这段程序错!
换成System.out.println("haha");