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

📄 tabletestcase.java

📁 基于Junit的 功能和单元测试的的测试工具。只支持Swing.
💻 JAVA
字号:
package org.uispec4j;

import org.uispec4j.utils.UIComponentFactory;
import org.uispec4j.utils.UnitTestCase;
import org.uispec4j.xml.EventLogger;

import javax.swing.*;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableCellRenderer;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

public abstract class TableTestCase extends UnitTestCase {
  Table table;
  JTable jTable;

  protected void setUp() throws Exception {
    super.setUp();
    init(new JTable(new TableSelectionTest.MyModel()));
  }

  private void init(JTable table) {
    jTable = table;
    jTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
    jTable.setName("myTable");
    jTable.setDefaultEditor(Integer.class, new DefaultCellEditor(new JComboBox(new Object[]{new Integer(3), new Integer(4), new Integer(5)})));
    this.table = (Table)UIComponentFactory.createUIComponent(jTable);
  }

  protected class MyModel extends AbstractTableModel {
    String[] columnNames = new String[]{"0", "1", "2"};
    Object[][] rowData = new Object[][]{{"a", Boolean.TRUE, new Integer(3)},
                                        {"c", Boolean.FALSE, new Integer(4)}};
    Class[] columnClasses = new Class[]{String.class, Boolean.class, Integer.class};

    public String getColumnName(int column) {
      return columnNames[column].toString();
    }

    public int getRowCount() {
      return rowData.length;
    }

    public int getColumnCount() {
      return columnNames.length;
    }

    public Object getValueAt(int row, int col) {
      return rowData[row][col];
    }

    public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
      rowData[rowIndex][columnIndex] = aValue;
      fireTableCellUpdated(rowIndex, columnIndex);
    }

    public Class getColumnClass(int columnIndex) {
      return columnClasses[columnIndex];
    }

    public boolean isCellEditable(int row, int column) {
      return (row != 1) || (column != 0);
    }
  }

  void installJPanelRenderer() {
    DefaultTableCellRenderer renderer = new DefaultTableCellRenderer() {
      public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
        return new JPanel();
      }
    };
    jTable.setDefaultRenderer(Boolean.class, renderer);
  }
}

⌨️ 快捷键说明

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