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

📄 questioncelleditor.java

📁 < ProJavaProgrammingSecondEdition> 书中例程源码
💻 JAVA
字号:
import java.awt.*;
import javax.swing.*;
import javax.swing.tree.*;

public class QuestionCellEditor extends DefaultCellEditor {

  protected TrueFalseQuestion question;

  public QuestionCellEditor() {
    super(new JCheckBox());
  }

  public Component getTreeCellEditorComponent(JTree tree, Object value,
      boolean selected, boolean expanded, boolean leaf,
      int row) {
    JCheckBox editor = null;
    question = getQuestionFromValue(value);
    if (question != null) {
      editor = (JCheckBox)(super.getComponent());
      editor.setText(question.getQuestion());
      editor.setSelected(question.getAnswer());
    }
    return editor;
  }

  public static TrueFalseQuestion getQuestionFromValue(
      Object value) {
    if (value instanceof DefaultMutableTreeNode) {
      DefaultMutableTreeNode node =
          (DefaultMutableTreeNode)value;
      Object userObject = node.getUserObject();
      if (userObject instanceof TrueFalseQuestion) {
        return (TrueFalseQuestion)userObject;
      }
    }
    return null;
  }

  public Object getCellEditorValue() {
    JCheckBox editor = (JCheckBox)(super.getComponent());
    question.setAnswer(editor.isSelected());
    return question;
  }

}

⌨️ 快捷键说明

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