myimagebutton.java
来自「电脑编程技巧和源码。很不错的。」· Java 代码 · 共 82 行
JAVA
82 行
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.net.*;
public class MyImageButton extends Canvas {
int width,height;
boolean pushed = false;
Image image;
String name;
ActionListener actionListener=null;
public MyImageButton(Image image,String name)
{
this.image = image;
this.name=name;
MediaTracker tracker = new MediaTracker(this);
tracker.addImage(image,0);
try{
tracker.waitForID(0);
}
catch(InterruptedException e){}
width = image.getWidth(this)+2;
height = image.getHeight(this)+2;
setSize(width,height);
enableEvents(AWTEvent.MOUSE_EVENT_MASK);
}
public void paint(Graphics g)
{
if (pushed == true){
g.setColor(Color.darkGray);
g.drawLine(0,0,width-1,0);
g.drawLine(0,0,0,height-1);
g.setColor(Color.white);
g.drawLine(width-1,0,width-1,height-1);
g.drawLine(0,height-1,width-1,height-1);
}
else{
g.setColor(Color.white);
g.drawLine(0,0,width-1,0);
g.drawLine(0,0,0,height-1);
g.setColor(Color.darkGray);
g.drawLine(width-1,0,width-1,height-1);
g.drawLine(0,height-1,width-1,height-1);
}
g.drawImage(image,1,1,this);
}
//----------
public void addActionListener(ActionListener l) {
actionListener = AWTEventMulticaster.add(actionListener, l);
}
public void removeActionListener(ActionListener l) {
actionListener = AWTEventMulticaster.remove(actionListener, l);
}
public void processMouseEvent(MouseEvent event){
switch (event.getID()){
case Event.MOUSE_DOWN:
pushed=true;
repaint();
break;
case Event.MOUSE_UP:
pushed=false;
repaint();
if (actionListener != null) {
ActionEvent evt=new ActionEvent(this,ActionEvent.ACTION_PERFORMED,name);
actionListener.actionPerformed(evt);
}
break;
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?