ex.java

来自「实例精华」· Java 代码 · 共 98 行

JAVA
98
字号
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
import java.awt.event.*;

public class Ex
{
	JFrame f;
	JTable t;
	JScrollPane sp;
	
	public Ex()
	{
		f = new JFrame("表格");
		//定义一个AbstractTableModel的子类
		MyTableModel my = new MyTableModel();
		//将AbstractTableModel的子类的对象传到到JTable的构造中
		t = new JTable(my);

		t.setPreferredScrollableViewportSize(new Dimension(500,300));                  
		sp = new JScrollPane(t);
		f.add(sp);
		f.setSize(300,300);
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.setVisible(true);
		
		
	}
	
	class MyTableModel extends AbstractTableModel
	{
		
		final Object[][] table={{"scott","123","true"},{"system","145","false"},
		                   {"sys","598","false"},{"guest","598","true"}};
		                   
		final String[] title={"Name","Phone","Oprator"};
		
		//方法重写,用于得到行
		public int getRowCount(){
	    	
	    	  return table.length;
	    	
	    }
		//方法重写,用于得到列
	    public int getColumnCount()
	    {
	    	
	    	  return title.length;
	    }
		//方法重写,用于得到表中row行col列上的数据
	    public Object getValueAt(int row, int col)
	    {
	    	
	    	  return table[row][col];
	    	
	    }
	    //方法重写,用于得到列名
	    public String getColumnName(int col)
	    {
	    	
	    	
	    	 return title[col];
	    }
	    //方法重写,用于设置表中的数据中否为可编辑状态
	    public boolean isCellEditable(int row,int col)
	    {
	    	//判断第一列不可编辑,二、三列可编辑
	    	if(col<1)
	    	{
	    		
	    	   return	false;
	    	}else
	    	{
	    		
	    		return true;
	    	}
	    	
	    	
	    }
	    //方法重写,用于修改row行col列上的数据
	    public void setValueAt(Object Value,int row,int col)
	    {
	    
	          table[row][col]=  Value; 
	    
	    }
                       
                    
                              
	}
	
	
	public static void main(String[] args)
	{
		
		new Ex();
	}
}

⌨️ 快捷键说明

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