⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exercise24_8cellrenderer.java

📁 java程序设计导论(daniel liang著) 所有偶数课后习题答案
💻 JAVA
字号:
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;

public class Exercise24_8CellRenderer implements ListCellRenderer {
  JLabel jlbl = new JLabel(" ", JLabel.LEFT);
  Border lineBorder =
    BorderFactory.createLineBorder(Color.black, 1);
  Border emptyBorder =
    BorderFactory.createEmptyBorder(2, 2, 2, 2);

  public Exercise24_8CellRenderer() {
  }

  public Component getListCellRendererComponent
    (JList list, Object value, int index, boolean isSelected,
      boolean cellHasFocus) {
    //TODO: implement this javax.swing.ListCellRenderer method;
    String colorString = (String)value;
    jlbl.setText(colorString);

    if (colorString.equals("BLACK"))
      jlbl.setForeground(Color.black);
    else if (colorString.equals("BLUE"))
      jlbl.setForeground(Color.blue);
    else if (colorString.equals("CYAN"))
      jlbl.setForeground(Color.cyan);
    else if (colorString.equals("DARK_GRAY"))
      jlbl.setForeground(Color.darkGray);
    else if (colorString.equals("GRAY"))
      jlbl.setForeground(Color.gray);
    else if (colorString.equals("GREEN"))
      jlbl.setForeground(Color.green);
    else if (colorString.equals("LIGHT_GRAY"))
      jlbl.setForeground(Color.lightGray);
    else if (colorString.equals("MAGENTA"))
      jlbl.setForeground(Color.magenta);
    else if (colorString.equals("ORANGE"))
      jlbl.setForeground(Color.orange);
    else if (colorString.equals("PINK"))
      jlbl.setForeground(Color.pink);
    else if (colorString.equals("RED"))
      jlbl.setForeground(Color.red);
    else if (colorString.equals("WHITE"))
      jlbl.setForeground(Color.white);
    else if (colorString.equals("YELLOW"))
      jlbl.setForeground(Color.yellow);

    if (isSelected) {
      jlbl.setBorder(lineBorder);
      if (colorString.equals("BLACK"))
        jlbl.setForeground(Color.black);
      else if (colorString.equals("BLUE"))
        jlbl.setForeground(Color.blue);
      else if (colorString.equals("CYAN"))
        jlbl.setForeground(Color.cyan);
      else if (colorString.equals("DARK_GRAY"))
        jlbl.setForeground(Color.darkGray);
      else if (colorString.equals("GRAY"))
        jlbl.setForeground(Color.gray);
      else if (colorString.equals("GREEN"))
        jlbl.setForeground(Color.green);
      else if (colorString.equals("LIGHT_GRAY"))
        jlbl.setForeground(Color.lightGray);
      else if (colorString.equals("MAGENTA"))
        jlbl.setForeground(Color.magenta);
      else if (colorString.equals("ORANGE"))
        jlbl.setForeground(Color.orange);
      else if (colorString.equals("PINK"))
        jlbl.setForeground(Color.pink);
      else if (colorString.equals("RED"))
        jlbl.setForeground(Color.red);
      else if (colorString.equals("WHITE"))
        jlbl.setForeground(Color.white);
      else if (colorString.equals("YELLOW"))
        jlbl.setForeground(Color.yellow);
    }
    else {
      jlbl.setBorder(emptyBorder);
    }

    if (cellHasFocus)
      jlbl.setBorder(lineBorder);
    else
      jlbl.setBorder(emptyBorder);

    return jlbl;
  }
}

⌨️ 快捷键说明

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