import javax.swing.*;
public class table {
JFrame jFrame=new JFrame();
Object[] title={"姓名","年龄","居住地"};
Object[][] str={
{"小王","30","西安"},{"小明","20","安徽"},{"小李","25","陕西"},{"小红","15","上海"}
};
private void init(){
JTable jTable = new JTable(str,title);//先放二维数组,再放一位数组
jFrame.add(new JScrollPane(jTable));
jFrame.pack();
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jFrame.setVisible(true);
}
public static void main(String[] args) {
new table().init();
}
}
设置最小列距和最大列距
TableColumn column = jTable.getColumn(列); column.setMinWidth(数值);column.setMaxWidth(数值);
import javax.swing.*;
import javax.swing.table.TableColumn;
public class table1 {
JFrame jFrame=new JFrame();
Object[] title={"姓名","年龄","居住地"};
Object[][] str={
{"小王","30","西安"},{"小明","20","安徽"},{"小李","25","陕西"},{"小红","15","上海"}
};
private void init(){
JTable jTable = new JTable(str,title);//先放二维数组,再放一位数组
jFrame.add(new JScrollPane(jTable));
jTable.getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);//默认选择模式
TableColumn column = jTable.getColumn(title[0]);//姓名这一列
column.setMinWidth(30);
TableColumn column1 = jTable.getColumn(title[2]);
column1.setMaxWidth(50);
jFrame.pack();
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jFrame.setVisible(true);
}
public static void main(String[] args) {
new table1().init();
}
}
import javax.swing.*;
import javax.swing.table.AbstractTableModel;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
public class table3 {
JFrame jFrame = new JFrame();
Object[] title = {"姓名", "年龄", "居住地"};
Object[][] str = {
{"小王", "30", "西安"}, {"小明", "20", "安徽"}, {"小李", "25", "陕西"}, {"小红", "15", "上海"}
};
Vector vector = new Vector();
Vector<Vector> vectors = new Vector<>();
JButton jButton = new JButton("点击查看当前选中行数和列数和对应单元格的姓名");
private void init() {
for (int i = 0; i < title.length; i++) {
vector.add(title[i]);
}
for (int i = 0; i < str.length; i++) {
Vector t = new Vector<>();
for (int j = 0; j < str[i].length; j++) {
t.add(str[i][j]);
}
vectors.add(t);
}
mymodel mymodel = new mymodel();
// JTable jTable=new JTable(vectors,vector);
JTable jTable = new JTable(mymodel);
jFrame.add(new JScrollPane(jTable));
jButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int selectedColumn = jTable.getSelectedColumn();
int selectedRow = jTable.getSelectedRow();
System.out.println("当前选中的行数是:"+selectedRow);
System.out.println("当前选中的列数是:"+selectedColumn);
Object valueAt = mymodel.getValueAt(selectedRow, selectedColumn);
System.out.println("当前选中的单元格的名字是:"+valueAt);
}
});
jFrame.add(jButton, BorderLayout.SOUTH);
jFrame.pack();
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jFrame.setVisible(true);
}
public class mymodel extends AbstractTableModel {
@Override
public int getRowCount() {
return vectors.size();
}
@Override
public int getColumnCount() {
return vector.size();
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
return vectors.get(rowIndex).get(columnIndex);
}
@Override
public String getColumnName(int column) {
return (String) vector.get(column);
}
//使得表格可以编辑
@Override
public boolean isCellEditable(int rowIndex, int columnIndex) {
return true;
}
}
public static void main(String[] args) {
new table3().init();
}
}
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
public class table4 {
JFrame jFrame = new JFrame();
Object[] title = {"姓名", "年龄", "居住地"};
Object[][] str = {
{"小王", "30", "西安"}, {"小明", "20", "安徽"}, {"小李", "25", "陕西"}, {"小红", "15", "上海"}
};
Vector vector = new Vector();
Vector<Vector> vectors = new Vector<>();
//创建按钮
JButton jButton0=new JButton("添加一行");
JButton jButton1=new JButton("添加一列");
JButton jButton2=new JButton("删除一行");
JPanel jPanel = new JPanel();
private void init() {
for (int i = 0; i < title.length; i++) {
vector.add(title[i]);
}
for (int i = 0; i < str.length; i++) {
Vector t = new Vector<>();
for (int j = 0; j < str[i].length; j++) {
t.add(str[i][j]);
}
vectors.add(t);
}
DefaultTableModel defaultTableModel=new DefaultTableModel(vectors,vector);
JTable jTable = new JTable(defaultTableModel);
jButton0.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//给表格添加一行
defaultTableModel.addRow(new Object[]{"柳岩",18,"北京"});
}
});
jButton1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//给表格添加一列
defaultTableModel.addColumn("职业");
}
});
jButton2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int selectedRow = jTable.getSelectedRow();
defaultTableModel.removeRow(selectedRow);
}
});
jPanel.add(jButton0);
jPanel.add(jButton1);
jPanel.add(jButton2);
jFrame.add(jPanel, BorderLayout.SOUTH);
jFrame.add(new JScrollPane(jTable));
jFrame.pack();
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jFrame.setVisible(true);
}
public static void main(String[] args) {
new table4().init();
}
}
版权声明:本文为qq_57907966原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。