📄 lwimagebutton.java
字号:
package org.merlin.step.nov;import java.awt.*;import java.awt.event.*;public class LWImageButton extends Component { String name; Image image; Dimension size, imSize; boolean up, down; public LWImageButton (String n, Image i, Dimension d) { name = n; image = i; size = d; enableEvents (AWTEvent.MOUSE_EVENT_MASK); imSize = new Dimension (image.getWidth (this), image.getHeight (this)); } public Dimension getPreferredSize () { return getMinimumSize (); } public Dimension getMinimumSize () { return new Dimension (size); } public void paint (Graphics g) { if ((imSize.width == -1) || (imSize.height == -1)) imSize = new Dimension (image.getWidth (this), image.getHeight (this)); int off = !up ? 0 : down ? 1 : -1; if ((imSize.width != -1) && (imSize.height != -1)) g.drawImage (image, (getSize ().width - imSize.width) / 2 + off, (getSize ().height - imSize.height) / 2 + off, this); g.setColor (Color.gray); if (up) g.draw3DRect (0, 0, getSize ().width - 1, getSize ().height - 1, !down); } protected void processMouseEvent (MouseEvent e) { super.processMouseEvent (e); if (isEnabled ()) { if (e.getID () == MouseEvent.MOUSE_ENTERED) { if (!up) { up = true; repaint (); } } else if (e.getID () == MouseEvent.MOUSE_EXITED) { if (up) { up = false; repaint (); } } else if (e.getID () == MouseEvent.MOUSE_PRESSED) { if (!down) { down = true; repaint (); } } else if (e.getID () == MouseEvent.MOUSE_RELEASED) { if (down) { down = false; repaint (); } if (up) fireActionEvent (new ActionEvent (this, ActionEvent.ACTION_PERFORMED, name)); } } } ActionListener listeners; public synchronized void addActionListener (ActionListener l) { listeners = AWTEventMulticaster.add (listeners, l); } public synchronized void removeActionListener (ActionListener l) { listeners = AWTEventMulticaster.remove (listeners, l); } public synchronized void fireActionEvent (ActionEvent e) { if (listeners != null) listeners.actionPerformed (e); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -