multilineheaderrenderer.java

来自「< ProJavaProgrammingSecondEdition>」· Java 代码 · 共 28 行

JAVA
28
字号
import java.awt.*;
import java.util.StringTokenizer;
import javax.swing.*;
import javax.swing.table.TableCellRenderer;

public class MultiLineHeaderRenderer extends JPanel implements TableCellRenderer {

  public Component getTableCellRendererComponent(JTable table, 
          Object value, boolean isSelected, boolean hasFocus, 
          int row, int column) {
    JLabel label;
    removeAll();
    StringTokenizer strtok = new StringTokenizer((String)value, "\r\n");
    setLayout(new GridLayout(strtok.countTokens(), 1));
    while (strtok.hasMoreElements()) {
      label = new JLabel((String)strtok.nextElement(), JLabel.CENTER);
      LookAndFeel.installColorsAndFont(label, 
                                       "TableHeader.background", 
                                       "TableHeader.foreground", 
                                       "TableHeader.font");
      add(label);
    } 
    LookAndFeel.installBorder(this, "TableHeader.cellBorder");
    return this;
  } 

}

⌨️ 快捷键说明

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