Java的Jtable、从数据库取数据显示在表格中

合集下载

java中jtable的用法

java中jtable的用法

java中jtable的用法一、JTable简介JTable是Java Swing包中的一个组件,用于在图形用户界面(GUI)中显示和编辑表格数据。

它可以显示任何类型的数据,包括文本、数字、日期和图像等。

二、创建JTable1. 创建一个空的JTable可以通过以下代码创建一个空的JTable:```JTable table = new JTable();```2. 从二维数组创建JTable可以通过以下代码从二维数组创建一个简单的JTable:String[][] data = {{"John", "Doe"}, {"Jane", "Doe"}};String[] columnNames = {"First Name", "Last Name"};JTable table = new JTable(data, columnNames);```3. 从TableModel创建JTable可以通过实现TableModel接口并使用它来创建一个定制的TableModel,然后将其传递给JTable构造函数来创建一个自定义的JTable。

4. 从数据库中获取数据并创建JTable可以通过使用Java数据库连接(JDBC)API与数据库进行交互,并将结果集转换为TableModel,然后将其传递给JTable构造函数来从数据库中获取数据并创建一个自定义的JTable。

三、设置表格属性1. 设置表头可以使用以下代码设置表头:```String[] columnNames = {"First Name", "Last Name"};table.setColumnIdentifiers(columnNames);```2. 设置表格行高和列宽可以使用以下代码设置表格行高和列宽:```table.setRowHeight(30);table.getColumnModel().getColumn(0).setPreferredWidth(100); ```3. 设置表格背景色和前景色可以使用以下代码设置表格背景色和前景色:```table.setBackground(Color.white);table.setForeground(Color.black);```4. 设置表格字体可以使用以下代码设置表格字体:```Font font = new Font("Arial", Font.PLAIN, 14);table.setFont(font);```5. 设置表格边框可以使用以下代码设置表格边框:```Border border = BorderFactory.createLineBorder(Color.black); table.setBorder(border);```四、渲染器和编辑器1. 渲染器渲染器用于将单元格中的值呈现为用户界面上的文本或图像。

swing中Jtable的使用方法

swing中Jtable的使用方法

如何使用Table利用JTable 类,可以以表格的形式展示数据,可设置允许用户编辑数据。

JT able 本身不拥有或者缓存数据;它只是数据的视图。

这里有一个放在滚动面板上的典型表格:本文展示如何完成一些常见的表格相关的任务:包括以下部分:(1)创建一个简单的表格(2)向容器添加表格(3)改变每每一栏的宽度(4)用户选择(5)创建表格模型(6)监听数据改变(7)点燃数据改变事件(8)概念:编辑器和渲染器(9)使用自定义渲染器(10)为单元格指定提示工具(11)为列头指定提示工具(12)排序和过滤(13)使用组合框作为编辑器(14)使用其他编辑器(15)使用编辑器验证用户的文本输入(16)打印(17)例子列表(1)创建一个简单的表格SimpleTableDemo.java中的表格在一个字符串数组中声明各个列名Java代码1String[] columnNames = {"First Name",2"Last Name",3"Sport",4"# of Years",5"Vegetarian"};数据初始化并存储在二维数组:Java代码6Object[][] data = {7 {"Kathy", "Smith",8"Snowboarding", new Integer(5), new Boolean(false)},9 {"John", "Doe",10"Rowing", new Integer(3), new Boolean(true)},11 {"Sue", "Black",12"Knitting", new Integer(2), new Boolean(false)},13 {"Jane", "White",14"Speed reading", new Integer(20), new Boolean(true)},15 {"Joe", "Brown",1617"Pool", new Integer(10), new Boolean(false)}18};接着表格使用这些数据和列名构造一个表格:Java代码19JTable table = new JTable(data, columnNames);有两个接收数据的JT able 构造器:∙JTable(Object[][] rowData, Object[] columnNames)∙JTable(Vector rowData, Vector columNames)这些构造函数的好处是容易实现,而缺点是:∙他们自动设置每个单元格为可编辑∙数据类型都视为一样的(字符串类型)。

java获取excel文件内容的方法

java获取excel文件内容的方法

一、介绍在开发过程中,我们经常会遇到需要读取Excel文件内容的情况。

而Java作为一种广泛应用的编程语言,具有丰富的库和功能,使得它成为一种很好的选择。

本文将介绍如何使用Java来获取Excel文件的内容,并将分为以下几个部分来进行讲解。

二、使用POI库进行Excel文件操作POI(Poor Obfuscation Implementation)是Apache基金会的一个开源项目,它为Java程序提供了读取和写入Microsoft Office格式文件的功能。

具体来说,POI库中的HSSF模块可以用于读取和操作Excel文件。

以下是使用POI库进行Excel文件操作的步骤。

1. 引入POI库首先需要引入POI库的相关依赖。

可以通过Maven来引入POI库,添加以下依赖到项目的pom.xml文件中即可:```xml<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.1.2</version></dependency>```2. 读取Excel文件接下来,我们可以通过POI库的相关类来读取Excel文件。

首先需要创建一个文件输入流来读取Excel文件,然后通过HSSFWorkbook类来加载文件内容,最后可以通过遍历的方式获取Excel文件的内容。

以下是一个简单的示例:```javaFileInputStream file = new FileInputStream("example.xls"); HSSFWorkbook workbook = new HSSFWorkbook(file); HSSFSheet sheet = workbook.getSheetAt(0);for (Row row : sheet) {for (Cell cell : row) {// 处理单元格的内容}}```3. 处理Excel文件内容在读取Excel文件内容后,我们可以通过POI库提供的类来处理Excel 文件的内容,比如获取单元格的值、设置单元格的值等操作。

java 通过JTable显示数据

java  通过JTable显示数据

java 通过JTable显示数据Swing中的JTable类为显示大块数据提供了一种简单的机制。

JTable有很多方法用于数据的生成和编辑,其中的很多方法还可以自定义,从而更进一步增强其功能。

在使用JTable以前,我们先看一下它的构造函数有哪些,以及应该如何使用。

JTabel构造函数:●JTable( ) 建立一个新的JTables,并使用系统默认的Model。

●JTable(int numRows,int numColumns) 建立一个具有numRows行,numColumns列的空表格,使用的是DefaultTableModel.。

●JTable(Object[][] rowData,Object[][] columnNames) 建立一个显示二维数组数据的表格,且可以显示列的名称。

●JTable(TableModel dm) 建立一个JTable,有默认的字段模式以及选择模式,并设置数据模式。

●JTable(TableModel dm,TableColumnModel cm) 建立一个JTable,设置数据模式与字段模式,并有默认的选择模式。

●JTable(TableModel dm,TableColumnModel cm,ListSelectionModel sm) 建立一个JTable,设置数据模式、字段模式、与选择模式。

●JTable(Vector rowData,Vector columnNames) 建立一个以Vector为输入来源的数据表格,可显示行的名称。

在构建JTable对象之后,可以通过一些方法来设置数据显示的样式,常见的方法如下。

1.设置JTable表格大小如果JTable的一个列或者JTable窗口的大小被重新设置后,那么其他列会被相应的缩小或者放大,以适应新的窗口。

使用setAutoResizeMode( )方法就能够控制这LUMN、AUTO_RESIZE_SUBSEQUENT_COLUMNS、AUTO_RESIZE_LAST_COL UMN和AUTO_RESIZE_ALL_COLUMNS。

java jtable用法

java jtable用法

java jtable用法JTable是Java Swing库中的一个组件,用于将数据以表格的形式展示出来。

JTable的用法如下:1.创建JTable对象:可以通过传入一个二维数组或者实现TableModel接口的数据模型来创建JTable对象。

2.设置表头:通过调用getTableHeader()方法获取表头对象,并设置表头的标题和样式。

3.设置表格数据:将数据设置到表格中,可以通过调用setModel()方法来设置TableModel,也可以通过调用setValueAt()方法逐个设置表格中的值。

4.设置表格样式:可以通过调用setDefaultRenderer()方法来设置单元格的渲染器,调用setDefaultEditor()方法来设置单元格的编辑器,以及调用setRowHeight()方法来设置行高等。

5.添加JTable到容器中:将JTable添加到容器中显示出来。

拓展:JTable还有一些其他常用的功能,例如:1.表格排序:可以通过调用setAutoCreateRowSorter()方法来开启表格排序功能,或者通过设置RowSorter来自定义排序规则。

2.表格选择:可以通过调用setSelectionMode()方法来设置表格的选择模式,可以选择单个单元格、单个行、多个行等。

3.表格事件:可以监听表格的事件,例如单元格的点击事件、单元格的编辑事件等,通过添加事件监听器来实现相应的逻辑处理。

4.表格导出:可以将表格中的数据导出为Excel、CSV等格式,通过调用相应的API来实现数据导出功能。

总之,JTable是一个非常强大的表格组件,可以用于展示和处理大量的数据,通过灵活的设置和拓展,可以实现各种复杂的表格功能。

java实现导出Excel(跨行跨列)

java实现导出Excel(跨行跨列)

java实现导出Excel(跨行跨列)在Java中,可以使用Apache POI库来实现导出Excel文件,并且可以实现跨行和跨列的功能。

Apache POI是一个开源的Java库,可以处理Microsoft Office格式的文档,包括Excel。

以下是使用Apache POI库实现导出Excel文件的步骤:1. 首先,需要引入Apache POI依赖。

可以在Maven或Gradle中添加以下依赖项:```xml<!-- Apache POI --><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.1.2</version></dependency>2. 创建一个Workbook对象,该对象代表一个Excel文件:```javaWorkbook workbook = new XSSFWorkbook(;```3. 创建一个Sheet对象,该对象代表Excel文件中的一个工作表:```javaSheet sheet = workbook.createSheet("Sheet1");```4. 创建行和单元格,根据需要设置跨行和跨列的属性。

可以使用CellRangeAddress类来实现跨行和跨列的功能:```javaRow row = sheet.createRow(0);Cell cell = row.createCell(0);cell.setCellValue("跨行跨列");//合并单元格,从第1行到第3行,从第1列到第5列CellRangeAddress cellRangeAddress = new CellRangeAddress(0, 2, 0, 4);sheet.addMergedRegion(cellRangeAddress);5. 将数据写入Excel文件中的单元格:```javaRow row = sheet.createRow(0);Cell cell = row.createCell(0);cell.setCellValue("Hello");```6. 将Workbook对象写入到文件中:```javaFileOutputStream fileOutputStream = new FileOutputStream("output.xlsx");workbook.write(fileOutputStream);fileOutputStream.close(;```完整的示例代码如下所示:```javaimport ermodel.*;import org.apache.poi.ss.util.CellRangeAddress;import ermodel.XSSFWorkbook;import java.io.FileOutputStream;import java.io.IOException;public class ExcelExporterpublic static void main(String[] args) throws IOExceptionWorkbook workbook = new XSSFWorkbook(;Sheet sheet = workbook.createSheet("Sheet1");Row row = sheet.createRow(0);Cell cell = row.createCell(0);cell.setCellValue("跨行跨列");//合并单元格,从第1行到第3行,从第1列到第5列CellRangeAddress cellRangeAddress = new CellRangeAddress(0, 2, 0, 4);sheet.addMergedRegion(cellRangeAddress);FileOutputStream fileOutputStream = newFileOutputStream("output.xlsx");workbook.write(fileOutputStream);fileOutputStream.close(;System.out.println("Excel文件导出成功!");}```执行该代码后,会在项目的根目录下生成一个名为`output.xlsx`的Excel文件,其中包含一个跨行和跨列的单元格。

javaswing实现数据显示的逻辑

javaswing实现数据显示的逻辑

javaswing实现数据显示的逻辑
要使用Java Swing来实现数据显示的逻辑,可以按照以下步骤进行:
1. 创建一个继承自JFrame的主窗口类,作为应用的主界面。

2. 在主窗口类中添加一个JTable组件,用来显示数据。

3. 创建一个继承自AbstractTableModel的数据模型类,用来管理表格中的数据。

4. 在数据模型类中实现必要的方法,如获取表格的行数、列数、单元格数值等。

5. 在主窗口类中实例化数据模型类,并将其设置给JTable组件。

6. 从数据源获取数据,并通过数据模型类的方法添加到表格中。

7. 可以添加其他的Swing组件,如按钮、文本框等,来实现数据的添加、删除、修改等操作。

8. 实现相应的事件监听器,以响应用户的操作。

例如,点击按钮时,执行相应的添加、删除、修改数据的操作。

9. 使用布局管理器来控制组件的布局。

可以选择合适的布局管理器来满足UI设计的需求。

10. 最后,调用setVisible(true)方法将主窗口显示出来。

这样,就可以使用Java Swing实现数据显示的逻辑了。

根据具体的需求和情况,可以根据以上步骤进行适当的修改和扩展。

java基础编程练习题

java基础编程练习题

Java基础编程练习题一、基本语法1. 编写一个Java程序,输出“Hello, World!”。

2. 声明一个整型变量并赋值为10,然后输出该变量的值。

3. 编写一个Java程序,实现两个整数的加、减、乘、除运算。

4. 编写一个Java程序,判断一个整数是奇数还是偶数。

5. 编写一个Java程序,交换两个变量的值。

二、控制结构1. 使用ifelse语句判断一个年份是否为闰年。

2. 编写一个Java程序,使用for循环输出1到100的所有偶数。

3. 使用while循环计算1+2+3++100的和。

4. 编写一个Java程序,使用dowhile循环输出1到10的所有整数。

5. 使用switch语句实现一个简单的计算器程序,支持加、减、乘、除四种运算。

三、数组1. 声明一个整型数组,并初始化为{1, 2, 3, 4, 5},然后输出数组中的每个元素。

2. 编写一个Java程序,计算数组中所有元素的和。

3. 实现一个方法,用于查找数组中的最大值。

4. 编写一个Java程序,将一个字符串数组按照字母顺序排序。

5. 使用二维数组输出一个5x5的乘法表。

四、字符串操作1. 编写一个Java程序,连接两个字符串。

2. 实现一个方法,判断一个字符串是否为回文。

3. 编写一个Java程序,将字符串中的所有小写字母转换为大写字母。

4. 使用StringBuilder类实现字符串的逆序输出。

5. 编写一个Java程序,计算一个字符串中某个字符出现的次数。

五、面向对象基础1. 创建一个名为Person的类,包含姓名、年龄和性别属性,并提供相应的构造方法和getter/setter方法。

2. 编写一个Java程序,实现两个Person对象的比较(按年龄比较)。

3. 创建一个Student类,继承自Person类,并添加成绩属性。

4. 编写一个Java程序,实现Student类的多态。

5. 创建一个接口Animal,包含吃、睡觉和叫三个方法,然后创建两个类Dog和Cat实现该接口。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库操作代码:
// Load JDBC driver
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String dbUrl = "jdbc:odbc:driver={Microsoft Access Driver ( *.mdb)};DBQ=access\\test.mdb";
Connection con = DriverManager.getConnection(dbUrl, "","");
Statement state = con.createStatemen(ResultSet.TYPE_SCROLL_SEN SITIVE,
ResultSet.CONCUR_UPDATABLE);
// 执行SQL语句
String sql = "select * from score";
ResultSet rs = state.executeQuery(sql);
displayResultSet(rs);
rs.close();
state.close();
con.close();
将数据显示在表格中:
private void displayResultSet(ResultSet rs) throws SQLEx ception {
boolean moreRecords = rs.next(); // 定位到达第一条记录
if(!moreRecords) {
JOptionPane.showMessageDialog(null, "结果集中无记录", "无记录",
RMATION_MESSA GE);
return;
}
Vector rows = new Vector();
Vector columnHeads = new Vector();
try{
ResultSetMetaData rsmd = rs.getMetaData(); // 获得rs结果集中列属性信息
for(int i = 1; i <= rsmd.getColumnCou nt(); ++i)
columnHeads.addElement(rsmd.getColumn Name(i)); // 获得列名(将列名存放至向量columnHeads)
do{
rows.addElement(getNextRow(rs, rsmd) );
}
while(rs.next()); // 利用循环获得所有记录
jTable = new JTable(rows, columnHeads); // 将获得的行列数据信息作为参数重新构造表格视图
jTable.setSize(new Dimension(383, 81));
JScrollPane scroller = new JScrollPane(jT able);// 创建带有滚动条的面板,并将表格视图加入
Container c = getContentPane(); // 获取溶器
// c.remove(2); //
// 从溶器中移除指定控件(本窗体中有二级面板有两个,第一个存放文本域及按钮,第二个存放表格视图,故移除1)
c.add(scroller, BorderLayout.CENTER); // 将面板重新加入溶器中
c.validate(); // 验证此容器及其所有子组件
} catch(SQLException e) {
e.printStackTrace();
}
}
private Vector getNextRow(ResultSet rs, ResultSetMetaData rsmd)
throws SQLException {
Vector currentRow = new Vector(); // 定义一个向量,用于存放记录
for(int i = 1; i <= rsmd.getColumnCount(); + +i)
currentRow.addElement(rs.getString(i)); // 获取记录
return currentRow; // 返回记录
}
以上代码实现连接access并将取出数据显示在JTable控件上……
选择JTable行:
jTable.getSelectedRow() != -1用于判断是否有选中行
(jTable.getModel().getValueAt(jTable .getSelectedRow(),
0)).toString();用于取出选择行的某单元值(0表示该行的第一列以此类推)
if (jTable.getSelectedRow() != -1) {
String ID =
(jTable.getModel().getValueAt(jTable .getSelectedRow(),
0)).toString();
//这里可以执行数据库操作
}。

相关文档
最新文档