customjbutton.java

来自「《深入浅出设计模式》的完整源代码」· Java 代码 · 共 34 行

JAVA
34
字号
package custombutton;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class CustomJButton extends JComponent {
  // decorated component
protected JComponent child;
public CustomJButton(JComponent component) {
    child = component;
    this.setLayout (new BorderLayout ());
    this.add (child);
    component.addMouseListener (new MouseAdapter () {
      public void mouseClicked (MouseEvent me) {
        repaint ();
      }
    });
    component.addFocusListener (new FocusAdapter () {
      public void focusGained (FocusEvent fe) {
        repaint ();
      }
     public void focusLost (FocusEvent fe) {
        repaint ();
      }
    });
  }
  public void paint (Graphics g) {
    super.paint (g);
    int height = this.getHeight ();
    int width = this.getWidth ();
    g.setColor (Color.red);
    g.setFont (new Font ("", Font.BOLD, 2));
    g.drawLine (0, 0, width, height);
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?