focusedtitlelistcellrenderer.java

来自「The Definitive Guide to Java Swing, Thir」· Java 代码 · 共 26 行

JAVA
26
字号
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
public class FocusedTitleListCellRenderer implements ListCellRenderer {
  protected static Border noFocusBorder =
    new EmptyBorder(15, 1, 1, 1);
  protected static TitledBorder focusBorder =
    new TitledBorder(LineBorder.createGrayLineBorder(), "Focused");
  protected DefaultListCellRenderer defaultRenderer = new DefaultListCellRenderer();

  public String getTitle() {
    return focusBorder.getTitle();
  }
  public void setTitle(String newValue) {
    focusBorder.setTitle(newValue);
  }

  public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
    JLabel renderer = (JLabel)defaultRenderer.getListCellRendererComponent(
      list, value, index, isSelected, cellHasFocus);
    renderer.setBorder(cellHasFocus ? focusBorder : noFocusBorder);
    return renderer;
  }
}

⌨️ 快捷键说明

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