comptitledpane.java

来自「tame,扩展了好多SWing组件:JTable」· Java 代码 · 共 97 行

JAVA
97
字号
/* (swing1.1.1) */package tame.panel;import java.awt.Insets;import java.awt.Rectangle;import javax.swing.JComponent;import javax.swing.JLabel;import javax.swing.JPanel;import tame.border.CompTitledBorder;/**@author Nobuo Tamemasa@version 1.0 08/12/99*/public class CompTitledPane extends JPanel {  protected CompTitledBorder border;  protected JComponent component;  protected JPanel panel;  protected boolean transmittingAllowed;  protected StateTransmitter transmitter;  public CompTitledPane() {    this(new JLabel("Title"));    // debug    // JLabel label = (JLabel)getTitleComponent();    // label.setOpaque(true);    // label.setBackground(Color.yellow);  }  public CompTitledPane(JComponent component) {    this.component = component;    border = new CompTitledBorder(component);    setBorder(border);    panel = new JPanel();    setLayout(null);    add(component);    add(panel);    transmittingAllowed = false;    transmitter = null;  }  public JComponent getTitleComponent() {    return component;  }  public void setTitleComponent(JComponent newComponent) {    remove(component);    add(newComponent);    border.setTitleComponent(newComponent);    component = newComponent;  }  public JPanel getContentPane() {    return panel;  }  public void doLayout() {    Insets insets = getInsets();    Rectangle rect = getBounds();    rect.x = 0;    rect.y = 0;    Rectangle compR = border.getComponentRect(rect,insets);    component.setBounds(compR);    rect.x += insets.left;    rect.y += insets.top;    rect.width  -= insets.left + insets.right;    rect.height -= insets.top  + insets.bottom;    panel.setBounds(rect);  }  public void setTransmittingAllowed(boolean enable) {    transmittingAllowed = enable;  }  public boolean getTransmittingAllowed() {    return transmittingAllowed;  }  public void setTransmitter(StateTransmitter transmitter) {    this.transmitter = transmitter;  }  public StateTransmitter getTransmitter() {    return transmitter;  }  public void setEnabled(boolean enable) {    super.setEnabled(enable);    if (transmittingAllowed && transmitter != null) {      transmitter.setChildrenEnabled(enable);    }  }}

⌨️ 快捷键说明

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