questioncellrenderer.java

来自「JAVA高级编程第2版书中所有的源代码,因为我有这本书觉得很不错,所以上传上来,」· Java 代码 · 共 46 行

JAVA
46
字号
import java.awt.*;
import javax.swing.*;
import javax.swing.tree.*;

public class QuestionCellRenderer extends DefaultTreeCellRenderer {

  protected JCheckBox questionRenderer = new JCheckBox();

  public Component getTreeCellRendererComponent(JTree tree,
      Object value, boolean selected, boolean expanded,
      boolean leaf, int row, boolean hasFocus) {
    if (value instanceof DefaultMutableTreeNode) {
      DefaultMutableTreeNode node =
          (DefaultMutableTreeNode)value;
      Object userObject = node.getUserObject();
      if (userObject instanceof TrueFalseQuestion) {
        TrueFalseQuestion question =
            (TrueFalseQuestion)userObject;
        prepareQuestionRenderer(question, selected);
        return questionRenderer;
      }
    }
    return super.getTreeCellRendererComponent(tree, value,
        selected, expanded, leaf, row, hasFocus);
  }

  protected void prepareQuestionRenderer(TrueFalseQuestion tfq,
      boolean selected) {
    questionRenderer.setText(tfq.getQuestion());
    questionRenderer.setSelected(tfq.getAnswer());
    if (selected) {
      questionRenderer.setForeground(
          getTextSelectionColor());
      questionRenderer.setBackground(
          getBackgroundSelectionColor());
    }
    else {
      questionRenderer.setForeground(
          getTextNonSelectionColor());
      questionRenderer.setBackground(
          getBackgroundNonSelectionColor());
    }
  }

}

⌨️ 快捷键说明

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