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

📄 charactertracker.java

📁 java threads 3th源码,包括各个章节的源代码
💻 JAVA
字号:
package javathreads.examples.ch08.example4;

import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;

public class CharacterTracker extends JPanel {
    private CharCounter counter;
    private AbstractTableModel model;

    private static String[] colName = { "Character", "Num Correct", "Num Incorrect" };
    private static int[] charAt = {
            'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
            'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
            'u', 'v', 'w', 'x', 'y', 'z' };

    private class CharacterTrackerModel extends AbstractTableModel {
        public int getColumnCount() { return 3; }
        public int getRowCount() { return charAt.length; };
        public String getColumnName(int col) { return colName[col]; }
        public Object getValueAt(int row, int col) {
            switch(col) {
                case 0: return Character.toString((char)charAt[row]);
        	case 1: return Integer.toString(counter.getCorrectNum(charAt[row]));
        	case 2: return Integer.toString(counter.getIncorrectNum(charAt[row]));
        	default: throw new IllegalArgumentException("Too many cols");
            }
        }
        public Class getColumnClass(int c) { return String.class; }
    }

    public CharacterTracker(CharCounter cc) {
        counter = cc;
        model = new CharacterTrackerModel();
        counter.addModel(model);
        setLayout(new BorderLayout());
        JScrollPane jsp = new JScrollPane(new JTable(model));
        add(jsp, BorderLayout.CENTER);
    }
}

⌨️ 快捷键说明

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