1:JTable的基本使用
如下图 做这样的表格的代码实现如下
package Swing;
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
public class Main10 extends JFrame{
public static void main(String[] args) {
Main10 main10 = new Main10();
main10.Run();
}
public void Run(){
//创建表格 设置表格的起始位置和高度 宽度
JTable table = new JTable(30,4);//设置为三行四列
//设置table的股东窗体
JScrollPane jScrollPane = new JScrollPane(table);
jScrollPane.setBounds(30, 30, 440, 200);
//创建container
Container container = this.getContentPane();
container.add(jScrollPane);
// 设置布局管理器
this.setLayout(null);
/**
* 设置窗体属性
*/
this.setTitle("表格学习");
this.setVisible(true);
this.setSize(500, 500);
this.setLocationRelativeTo(null);// 设置居中显示
// 设置Jframe窗体关闭时 程序结束
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
2:JTable表格数据的来源
2.1:数组作为数据来源
数组作为数据来源中 正文为二维数组;表头为一维数组
package Swing;
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
public class Main10 extends JFrame{
public static void main(String[] args) {
Main10 main10 = new Main10();
main10.Run();
}
public void Run(){
//表格数据来源
Object[][] context = new Object[][]{
{"1","张三1","男","高三(1)班"},
{"2","张三2","男","高三(2)班"},
{"3","张三3","男","高三(3)班"},
{"4","张三4","男","高三(4)班"}
};
Object[] title = new Object[]{"编号","姓名","性别","班级"};
//创建表格 设置表格的起始位置和高度 宽度
JTable table = new JTable(context,title);//设置为三行四列
//设置table的股东窗体
JScrollPane jScrollPane = new JScrollPane(table);
jScrollPane.setBounds(30, 30, 440, 200);
//创建container
Container container = this.getContentPane();
container.add(jScrollPane);
// 设置布局管理器
this.setLayout(null);
/**
* 设置窗体属性
*/
this.setTitle("表格学习");
this.setVisible(true);
this.setSize(500, 500);
this.setLocationRelativeTo(null);// 设置居中显示
// 设置Jframe窗体关闭时 程序结束
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
2.2:使用DefaultTableModel模型管理器管理数组
//表格数据来源 Object[][] context = new Object[][]{ {"1","张三1","男","高三(1)班"}, {"2","张三2","男","高三(2)班"}, {"3","张三3","男","高三(3)班"}, {"4","张三4","男","高三(4)班"} }; Object[] title = new Object[]{"编号","姓名","性别","班级"}; DefaultTableModel model = new DefaultTableModel(context, title); //创建表格 设置表格的起始位置和高度 宽度 JTable table = new JTable(model); //设置table的股东窗体 JScrollPane jScrollPane = new JScrollPane(table); jScrollPane.setBounds(30, 30, 440, 200); |
2.3:使用Vector来作为数据容器
package Swing;
import java.awt.Container;
import java.util.Vector;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class Main10 extends JFrame{
public static void main(String[] args) {
Main10 main10 = new Main10();
main10.Run();
}
public void Run(){
//表格数据来源
Vector<Object> vector1 = new Vector<>();
vector1.add("张三1");
vector1.add("17");
vector1.add("179");
Vector<Object> vector2 = new Vector<>();
vector2.add("张三2");
vector2.add("17");
vector2.add("179");
Vector<Object> vector3 = new Vector<>();
vector3.add("张三3");
vector3.add("17");
vector3.add("179");
Vector<Vector<Object>> vectorContext = new Vector<>();
vectorContext.add(vector1);
vectorContext.add(vector2);
vectorContext.add(vector3);
Vector<Object> vectorTitle = new Vector<>();
vectorTitle.add("姓名");
vectorTitle.add("年龄");
vectorTitle.add("身高");
DefaultTableModel model = new DefaultTableModel(vectorContext, vectorTitle);
//创建表格 设置表格的起始位置和高度 宽度
JTable table = new JTable(model);//设置为三行四列
//设置table的股东窗体
JScrollPane jScrollPane = new JScrollPane(table);
jScrollPane.setBounds(30, 30, 440, 200);
//创建container
Container container = this.getContentPane();
container.add(jScrollPane);
// 设置布局管理器
this.setLayout(null);
/**
* 设置窗体属性
*/
this.setTitle("表格学习");
this.setVisible(true);
this.setSize(500, 500);
this.setLocationRelativeTo(null);// 设置居中显示
// 设置Jframe窗体关闭时 程序结束
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}