📄 mypanel.java
字号:
package com.topking.rt.ui;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.event.MouseWheelEvent;
import java.awt.event.MouseWheelListener;
import javax.swing.JPanel;
import com.topking.rt.data.Command;
import com.topking.rt.rmi.interfaces.RMIInterface;
import com.topking.rt.util.CommandSender;
public class MyPanel extends JPanel implements MouseMotionListener ,MouseListener,MouseWheelListener ,KeyListener{
/**
*
*/
private static final long serialVersionUID = 1L;
private Image image = null;
private RMIInterface rmi = null;
public MyPanel(Image image){
this.image = image;
// this.setSize(Toolkit.getDefaultToolkit().getScreenSize());
this.addKeyListener(this);
this.addMouseListener(this);
this.addMouseMotionListener(this);
this.addMouseWheelListener(this);
}
public Image getImage() {
return image;
}
public void setImage(Image image) {
this.image = image;
/**
* 根据image来设置面板的预大小
*/
this.setPreferredSize(new Dimension(image.getWidth(this),image.getHeight(this)));
}
public void paintComponent(Graphics g){
g.drawImage(image, 0, 0, null);
}
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
// System.out.println("MyPanel --> keyPressed");
sendCommand(e);
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
// System.out.println("MyPanel --> keyRelseased");
sendCommand(e);
}
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
// System.out.println("MyPanel --> keyTyped");
sendCommand(e);
}
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
//System.out.println("MyPanel --> mouseClicked");
/**
* ☆点击该面板时,获取焦点才能够响应键盘事件☆
*/
requestFocus();
sendCommand(e);
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
//System.out.println("MyPanel --> mouseEntered");
sendCommand(e);
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
//System.out.println("MyPanel --> mouseExited");
sendCommand(e);
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
// System.out.println("MyPanel --> mousePressed");
// System.err.println(CommandType.getCOMMAN_MOUSER_RELEASE());
sendCommand(e);
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
// System.out.println("MyPanel --> mouseReleased");
sendCommand(e);
}
@Override
public void mouseDragged(MouseEvent e) {
// TODO Auto-generated method stub
//System.out.println("MyPanel --> mouseDragged");
sendCommand(e);
}
@Override
public void mouseMoved(MouseEvent e) {
// TODO Auto-generated method stub
//System.out.println("MyPanel --> mouseMoved");
sendCommand(e);
}
@Override
public void mouseWheelMoved(MouseWheelEvent e) {
// TODO Auto-generated method stub
//System.out.println("MyPanel --> mouseWheelMoved");
sendCommand(e);
}
public void sendCommand(InputEvent e){
Command com = new Command();
com.setEvent(e);
if(rmi!=null){
CommandSender.sendCommand(rmi, com);
}
}
public RMIInterface getRmi() {
return rmi;
}
public void setRmi(RMIInterface rmi) {
this.rmi = rmi;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -