用來JTable控制輸入數字判斷

/**
 * 用來JTable控制輸入數字判斷
 */
package com.sa.fb.pos.print;
import java.awt.Component;

import javax.swing.DefaultCellEditor;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import com.sa.fb.pos.utils.DialogUtil;

public class IntegerEditor extends DefaultCellEditor {

    private static final long serialVersionUID = -3781656457614462617L;
    private String oldText;
    public IntegerEditor() {
        super(new JTextField());
        //field.setBorder(BorderFactory.createLineBorder(Color.black));
    }

    public Object getCellEditorValue() {
        String value = (String) delegate.getCellEditorValue();
        if (value != null && value.trim().length() > 0) {
            try {
                Integer.parseInt(value);
            } catch (Throwable t) {
                //JOptionPane.showMessageDialog(null, "請輸入實數值! ");
                DialogUtil.alert("請輸入實數值! ");
                return oldText;
            }
        }
        return value;
    }

    public Component getTableCellEditorComponent(JTable table, Object value,
            boolean isSelected, int row, int col) {
            oldText = value.toString();
        return super.getTableCellEditorComponent(table, value, isSelected, row,
                col);
    }

}



    /**
     * 利用TableModel的更新,來重置JTable值
     */
    public void resetTableColumn() {
        /**row:二維數組;columns:一維數組****/
        TableModel model = new ReportTableModel(columnList2Array(listColumn),this.tablename);
        tableColumn.setModel(model);
        tableColumn.setCellSelectionEnabled(true);
        tableColumn.getTableHeader().setReorderingAllowed(false);//不允許列重新排序
        tableColumn.setRowHeight(23); // 設置表格的行高度

        TableColumnModel TCM=tableColumn.getColumnModel();
        /***控制輸入整數satrt***/
        TCM.getColumn(3).setCellEditor(new IntegerEditor());
        TCM.getColumn(4).setCellEditor(new IntegerEditor());
        /***控制輸入整數end***/
        TCM.getColumn(5).setCellEditor(new DefaultCellEditor(new JComboBox(positionJC))) ;
        TCM.getColumn(6).setCellEditor(new DefaultCellEditor(new JComboBox(fontJC))) ;
        TCM.getColumn(7).setCellEditor(new DefaultCellEditor( new JComboBox(fontSizeJC))) ;
        TCM.getColumn(9).setCellEditor(new DefaultCellEditor(new JComboBox(patternJC))) ;
    }


發佈了56 篇原創文章 · 獲贊 9 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章