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

📄 jtest.java

📁 这是一个用java和xml编写的流媒体服务器管理软件
💻 JAVA
字号:
package vocal.userEditor;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.io.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.event.*;
import javax.swing.table.*;

public class JTest extends JFrame
{
  protected JTable m_table;
  protected TableData m_data;
  protected TXIManageUserWarehouse manageUserWarehouse=new TXIManageUserWarehouse(true);
  
  public JTest() {
    super("Expense Report");
    setSize(200, 200);
    
    m_data = new TableData(manageUserWarehouse);
    //m_data.addTableModelListener(new a());
    
    m_table = new JTable();
   
    m_table.setModel(m_data);
    //m_table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    
    //第一列的属性
    TableCellRenderer renderer = new CheckCellRenderer();
    TableCellEditor editor = new ChangeButtonEditor(new JCheckBox(),m_table,manageUserWarehouse,m_data);
   
    TableColumn column = new TableColumn(0,30,renderer, editor);
    m_table.addColumn(column);      
    
    JScrollPane ps = new JScrollPane();
    ps.setSize(220, 220);
    ps.getViewport().add(m_table);
    getContentPane().add(ps, BorderLayout.CENTER);
    /*
    WindowListener wndCloser = new WindowAdapter() {
      public void windowClosing(WindowEvent e) {
        System.exit(0);
      }
    };
    addWindowListener(wndCloser);
    */
    setVisible(true);
  }
  class CheckCellRenderer extends JCheckBox implements TableCellRenderer
  {
    protected  Border m_noFocusBorder;
    
      
    public CheckCellRenderer() {
      super();
      m_noFocusBorder = new EmptyBorder(1, 2, 1, 2);
      setOpaque(true);
      setBorder(m_noFocusBorder);
    }

    
    
  public Component getTableCellRendererComponent(JTable table,
     Object value, boolean isSelected, boolean hasFocus,
     int row, int column)
    {
      if (value instanceof Boolean) {
        Boolean b = (Boolean)value;
        setSelected(b.booleanValue());
      }
      setBackground(isSelected && !hasFocus ?
        table.getSelectionBackground() : table.getBackground());
      setForeground(isSelected && !hasFocus ?
        table.getSelectionForeground() : table.getForeground());
      setFont(table.getFont());
      setBorder(hasFocus ? UIManager.getBorder(
        "Table.focusCellHighlightBorder") : m_noFocusBorder);
      return this;
    }
    
   
  }
  
  class TableData extends AbstractTableModel
  {
    protected Vector m_vector;
    protected Vector temp_vector;
    protected TXIManageUserWarehouse manageUserWarehouse;
    
    
    public TableData(TXIManageUserWarehouse manageUserWarehouse) {
      this.manageUserWarehouse=manageUserWarehouse;
      m_vector = new Vector();
      setDefaultData();
    }
    public void setDefaultData() {
      m_vector.removeAllElements();
      temp_vector=manageUserWarehouse.getWarehousegroup();
      for(int i=0;i<temp_vector.size();i++)
      {
        Vector v=new Vector();
        String originPower="";
        int temp=((TXIManageUserWarehouse.warehouseProperty)temp_vector.elementAt(i)).getOriginpower();
        String warehouseName=((TXIManageUserWarehouse.warehouseProperty)temp_vector.elementAt(i)).getWarehousename();
        if(0==temp)
             originPower="true";
        else if(1==temp)
             originPower="false";
        
        v.add(Boolean.valueOf(originPower));
        v.add(warehouseName);
        m_vector.addElement(v);
      }
    }
    public int getRowCount() {
      return m_vector==null ? 0 : m_vector.size();
    }
    public int getColumnCount() {
      return 2;
    }
    public String getColumnName(int column) {
      if(column==0)
        return "选择";
      else
        return "仓库名";
    }
    public boolean isCellEditable(int nRow, int nCol) {
         if(0==nCol)
              return true;
         else
              return false;
    }
    public Object getValueAt(int nRow, int nCol) {
      Vector record=(Vector)m_vector.elementAt(nRow);
      return record.elementAt(nCol);
    }
    public void setValueAt(Object value, int nRow, int nCol) {
      Vector record=(Vector)m_vector.elementAt(nRow);
      record.setElementAt(value,nCol);
     
    }
    
  }
  
  
  public static void main(String argv[]) 
  {
    new JTest();
  }

  
  class ChangeButtonEditor extends DefaultCellEditor {
      
      private int hererow;
      private JCheckBox m_checkBox;
      private int targetPower;//中间变量
      private TXIManageUserWarehouse manageUserWarehouse;
      
      
      int index;//点击的位置
      public ChangeButtonEditor(JCheckBox checkBox,final JTable m_table,final TXIManageUserWarehouse manageUserWarehouse,final TableData m_data) {
           super(checkBox);            
           m_checkBox=checkBox;           
      }
      public Component getTableCellEditorComponent(JTable table, Object value,
              boolean isSelected, int row, int column) {
          hererow=row;          
          return m_checkBox;
      }
     
 }
}

⌨️ 快捷键说明

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