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. 渲染器渲染器用于将单元格中的值呈现为用户界面上的文本或图像。

defaulttablemodel用法

defaulttablemodel用法

defaulttablemodel用法Java Swing中的JTable是一个非常有用的组件,用于展示和编辑表格数据。

然而,在JTable中显示数据时,我们需要使用TableModel对象来存储和管理数据。

其中,DefaultTableModel是JTable默认使用的TableModel实现类之一。

DefaultTableModel提供了一组方法来管理表格数据。

它使用Vector来存储数据,这使得它非常灵活和易于使用。

DefaultT ableModel允许用户创建一个空的TableModel,以便稍后将数据添加到其中。

用户也可以创建包含数据的TableModel。

一旦TableModel创建完成,它可以被设置为JTable的数据源。

DefaultTableModel的构造方法需要传入两个参数:列名(Vector对象)和行数(int类型)。

当设置数据时,它可以直接修改Vector对象的数据。

在修改数据后,可以调用fireTableDataChanged()方法来通知JTable更新数据。

示例代码:DefaultTableModel model = new DefaultTableModel();设置列名Vector<String> columnNames = new Vector<String>(); columnNames.add("ID");columnNames.add("Name");model.setColumnIdentifiers(columnNames);添加数据行Vector<Object> rowData = new Vector<Object>();rowData.add(1);rowData.add("张三");model.addRow(rowData);设置数据源JTable table = new JT able(model);除了设置列名和数据,DefaultTableModel还提供了一些其他的方法来管理数据。

javaswing jlist组件的基本用法

javaswing jlist组件的基本用法

javaswing jlist组件的基本用法JList是JavaSwing库中的一个组件,它用于显示一个列表的数据。

在JavaSwing中,JList允许用户选择列表中的项目。

以下是如何使用JList组件的基本步骤:一、引入必要的库在开始使用JList之前,我们需要引入必要的库。

首先,需要引入JavaSwing库。

可以在项目中直接添加JavaSwing库,或者通过Maven等构建工具添加。

```javaimportjavax.swing.*;```二、创建JList对象创建一个JList对象,需要指定要显示的数据源。

数据源可以是数组、列表或其他集合。

```javaJList<String>list=newJList<>(newString[]{"Item1","Item2","Item3"});```三、设置列表样式可以使用多种方式来设置列表样式,例如背景颜色、字体等。

可以使用以下方法来设置列表样式:```javalist.setBackground(Color.WHITE);//设置背景颜色为白色list.setFont(newFont("Arial",Font.BOLD,14));//设置字体为粗体,大小为14```四、添加到容器中可以将JList对象添加到JFrame、JPanel等容器中,以便将其显示出来。

可以使用以下代码将JList对象添加到容器中:```javaJFrameframe=newJFrame("JListExample");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.add(newJScrollPane(list));//将JList对象添加到滚动面板中,以便查看大列表frame.pack();frame.setVisible(true);```五、使用addListSelectionListener监听器监听列表选择事件可以使用addListSelectionListener方法来监听列表选择事件。

Jtable在不同时间呈现不同的数据源的详细方法

Jtable在不同时间呈现不同的数据源的详细方法

在java GUI开发中,经常要将数据库表的内容读取到前端客户端程序中,通常我们最爱用的是JTable这个组件来做数据呈现工作,如果列数固定显示,我们可以直接在NetBeans的设计界面时,可视化地直接将JTable 的model property 的选项中直观地给出就可以了。

但是我们若要用一个Jtable来在不同时间呈现不同的数据源,刚必然会导致辞表格标题的不同,用上述方法是显然不能设置好表格标题的。

针对这种情况,结合NetBeans设计界面的方便和快捷的特点,本章谈谈实现的方法。

(1)引入Jtable组件。

这一步大家都清楚(2)修改Jtable组件默认的model 属性,将行数和列数均修改为0(3)在检查器中选中你刚才引入的JTable控件(假设此组件对象名为TblShow),然后在TblShow属性面板的代码选项板中选择:“初始化后的代码”选项,进行操作如下图:(4)获取Jdbc连接。

部分代码参考:如下:Connection conn=null;String sqlStr="jdbc:microsoft:sqlserver://localhost:1433;databaseName=student";String pwd="";String usr="sa";try{Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");conn=DriverManager.getConnection(sqlStr,usr,pwd);} catch (ClassNotFoundException ex){………………}(5)针对不同的表对表格进行数据呈现,我这里使用了一个方法:public void initTable()public void initTable(){int colNums,i;String[] newRow;conn=NewJFrame.getConnection();//利用上述自定义的getConnection()方法获得连接对象try{stmt=conn.createStatement();//获得处理器对象rs=stmt.executeQuery("select * from userInfor");//获得结果集对象colNums=rs.getMetaData().getColumnCount(); //获得具体的列数for(i=1;i<=colNums;i++){//通过getMetaData().getColumnName(i)获得具体列名,再给此表格model添加上具体的列model.addColumn((String)rs.getMetaData().getColumnName(i));}newRow=new String[colNums];//用一个字符串数组来存放当前行的内容while(rs.next()){for(int j=0;j<colNums;j++){newRow[j]=rs.getString(j+1);//这里全部读取为String类型 }model.addRow(newRow);//给表格模型添加一行}} catch (SQLException ex){ex.printStackTrace();}finally{try{rs.close();stmt.close();conn.close();} catch (SQLException ex){ex.printStackTrace();}}}。

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 jtable用法

java jtable用法

java jtable用法Java JTable用法一、概述JTable是Java Swing库中的一个控件,用于在图形用户界面中显示和编辑表格数据。

它提供了丰富的功能和灵活的配置选项,使开发人员能够轻松地创建和管理数据表格。

二、创建JTable对象1.构造函数:可以使用JTable的构造函数来创建一个空的表格:JTable table = new JTable();2.数据模型:可以通过设置数据模型来创建一个包含指定数据的表格:String[][] data = {{"John", "Doe"}, {"Jane", "Smith "}, {"Bob", "Johnson"}};String[] columnNames = {"First Name", "Last Name"}; JTable table = new JTable(data, columnNames);三、设置表格属性1.表头:可以使用setTableHeader()方法来设置表格的表头:JTableHeader header = ();();(new Font("Arial", , 16));(header);2.行高:可以使用setRowHeight()方法来设置表格的行高度:(30);3.列宽:可以使用setColumnWidth(int column, int width)方法来设置指定列的宽度:().getColumn(0).setPreferredWidth(100);四、添加行和列1.添加行:可以使用数据模型的addRow(Object[] rowData)方法来添加一行数据:DefaultTableModel model = (DefaultTableModel) (); (new Object[]{"Tom", "Brown"});2.添加列:可以使用数据模型的addColumn(Object columnName)方法来添加一列数据:("Age");五、单元格编辑1.编辑模式:可以使用setCellEditor()方法来设置一个单元格编辑器:DefaultCellEditor editor = new DefaultCellEditor(ne w JTextField());().getColumn(1).setCellEditor(editor);2.单元格监听:可以使用addCellEditorListener()方法来添加一个单元格编辑器监听器:(new CellEditorListener() {@Overridepublic void editingStopped(ChangeEvent e) {// 编辑完成后的处理}@Overridepublic void editingCanceled(ChangeEvent e) {// 编辑取消后的处理}});六、样式和渲染1.颜色:可以使用自定义的继承自DefaultTableCellRenderer的渲染器来设置单元格的前景色和背景色:class MyRenderer extends DefaultTableCellRenderer { public Component getTableCellRendererComponent(JTabl e table, Object value, boolean isSelected, boolean hasFo cus, int row, int column) {Component component = (table, value, isSelected,hasFocus, row, column);if (row % 2 == 0) {();} else {();}return component;}}// 设置渲染器().getColumn(1).setCellRenderer(new MyRenderer());2.字体:可以使用自定义的渲染器来设置单元格的字体:().getColumn(0).setCellRenderer(new DefaultTableCel lRenderer() {public Component getTableCellRendererComponent(JTabl e table, Object value, boolean isSelected, boolean hasFo cus, int row, int column) {Component component = (table, value, isSelected, hasFocus, row, column);(new Font("Arial", , 14));return component;}});以上是Java JTable的一些常用用法和详细讲解。

swing jxtreetable用法

swing jxtreetable用法

swing jxtreetable用法Swing JXTreeTable是基于Java Swing的扩展组件,提供了一个带有树形结构的表格控件。

JXTreeTable具有JTable的所有功能以及额外的树形结构功能,可以同时展示表格和树状结构的数据。

本文将详细介绍JXTreeTable的用法,包括创建和初始化、添加数据、自定义表格和树状结构、以及其他常用操作等。

1. 创建和初始化JXTreeTable首先,创建一个JXTreeTable实例需要导入相应的包和类。

JXTreeTable位于swingx包中,可通过以下代码导入:import org.jdesktop.swingx.JXTreeTable;然后,可以通过构造函数创建JXTreeTable实例:JXTreeTable treeTable = new JXTreeTable();如果需要传递表格数据模型和树状结构数据模型,可以使用以下构造函数:TreeTableModel treeT ableModel = new MyTreeTableModel(root); 自定义树状结构数据模型TableModel tableModel = new DefaultTableModel(data, columnNames); 表格数据模型JXTreeTable treeTable = new JXTreeTable(treeTableModel, tableModel);在创建JXTreeTable实例后,可以通过以下代码设置表格的可见行数和列数:treeTable.setVisibleRowCount(10); 可见行数为10treeTable.setVisibleColumnCount(5); 可见列数为52. 添加数据添加数据到JXTreeTable可以使用默认的TableModel类或者自定义的TableModel类。

如果使用默认的TableModel类,可以使用以下代码添加行数据:DefaultTableModel model = (DefaultTableModel)treeTable.getTableModel();model.addRow(new Object[] { "Data 1", "Data 2", "Data 3" });如果需要添加树状结构的数据,可以使用以下代码:TreeTableModel treeModel = (TreeTableModel)treeTable.getTreeTableModel();treeModel.insertNodeInto(node, parent, index);其中,node是要插入的节点,parent是父节点,index是要插入的位置。

Java中JTable的用法

Java中JTable的用法

Java中J‎T able的‎用法Listin‎g A包含了一个‎简单示例的代‎码,这个示例会说‎明常用JTa‎b le的行为‎。

用户能够更改‎J T able‎的布局、拖放它的栏,或者通过拖动‎标题的分隔线‎来改变其大小‎。

这些列被保存‎在一个Str‎ing数组里‎:String‎[] column‎N ames = {"Produc‎t","Number‎of Boxes","Price"};数据被初始化‎并保存在一个‎二维的对象数‎组里:Object‎[][] data ={{"Apples‎", new Intege‎r(5),"5.00"},{"Orange‎s", new Intege‎r(3),"6.00"},{"Pears", new Intege‎r(2),"4.00"},{"Grapes‎", new Intege‎r(3),"2.00"},};JTable‎是使用dat‎a和colu‎mnName‎s构成的:JTable‎table = new JTable‎(data, column‎N ames);一、查看JTab‎leJTable‎的高度和宽度‎按照下面的方‎法来设定:table.setPre‎f erred‎S croll‎a bleVi‎e wport‎S ize(new Dimens‎ion(300, 80));如果JTab‎le的一个列‎或者JT ab‎le窗口自身‎的大小被重新‎确定,那么其他列会‎被相应的缩小‎或者放大,以适应新的窗‎口。

使用setA‎u toRes‎izeMod‎e()方法就能够控‎制这种行为:table.setAut‎o Resiz‎e Mode(int mode);mode整数‎字段可能的值‎有:AUTO_R‎E SIZE_‎O FFAUTO_R‎E SIZE_‎N EXT_C‎O LUMNAUTO_R‎E SIZE_‎S UBSEQ‎U ENT_C‎O LUMNS‎AUTO_R‎E SIZE_‎L AST_C‎O LUMNAUTO_R‎E SIZE_‎A LL_CO‎L UMNS二、表格的缺省值‎单元格内方格‎坐标线的缺省‎颜色是Col‎o r.gray。

JAVAJTable的使用

JAVAJTable的使用

JAVAJTable的使⽤JTable是⼀个表格组件,对JTable进⾏实例化时有多种⽅式,我个⼈⽐较喜欢⽤两个链表集合进⾏传参。

实例没连数据库实例1package com.beekc.www;2import java.awt.*;3import java.util.*;4import javax.swing.*;56//继承JFrame7public class Jtable extends JFrame {89//定义组件10 JTable jTable = null;11 JScrollPane jScrollPane = null;1213//定义JTable的对象14 Vector rowData,columnNames;1516//定义⼀⾏数据的对象17 Vector line1;1819public static void main(String[] args) {20 Jtable jTable = new Jtable();21 }2223//构造函数24public Jtable()25 {26//设置表格类⽬27 columnNames = new Vector();28 columnNames.add("学号");29 columnNames.add("姓名");30 columnNames.add("籍贯");3132//设置表格数据33 rowData = new Vector();34 line1 = new Vector();35 line1.add("001");36 line1.add("孙悟空");37 line1.add("花果⼭");38 rowData.add(line1);3940 line1 = new Vector();41 line1.add("002");42 line1.add("猪⼋戒");43 line1.add("天空");44 rowData.add(line1);4546 line1 = new Vector();47 line1.add("003");48 line1.add("沙悟净");49 line1.add("⼤海");50 rowData.add(line1);5152 line1 = new Vector();53 line1.add("004");54 line1.add("唐三藏");55 line1.add("长安");56 rowData.add(line1);5758//⽣成表格59 jTable = new JTable(rowData,columnNames);60 jScrollPane = new JScrollPane(jTable);6162//添加组件63this.add(jScrollPane);6465//窗体设置66this.setTitle("学⽣管理系统");67this.setLocation(200,200);68this.setSize(280,200);69this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);70this.setVisible(true);717273 }7475 }连接数据库实例1package com.beekc.www;2import java.awt.*;3import java.sql.*;4import java.util.*;5import javax.swing.*;67//继承JFrame8public class Student extends JFrame {910//定义组件11 JTable jTable = null;12 JScrollPane jScrollPane = null;1314//定义JTable的对象15 Vector rowData,columnNames;1617//定义⼀⾏数据的对象18 Vector line1;1920//定义数据库对象21 Connection ct = null;22 PreparedStatement ps = null;23 ResultSet rs = null;2425public static void main(String[] args) {26 Student jTable = new Student();27 }2829//构造函数30public Student()31 {32//设置表格类⽬33 columnNames = new Vector();34 columnNames.add("学号");35 columnNames.add("姓名");36 columnNames.add("籍贯");3738//设置表格数据39 rowData = new Vector();4041try{42//1.加载驱动43 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");44//2.得到连接45 ct = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=beekc","sa","admin.."); 46//3.创建介质⽅式47 ps = ct.prepareStatement("select * from stu");4849//4.执⾏50 rs = ps.executeQuery();5152while (rs.next())53 {54 line1 = new Vector();55 line1.add(rs.getString(1));56 line1.add(rs.getString(2));57 line1.add(rs.getString(3));58 rowData.add(line1);59 }6061 }catch (Exception e){62 e.printStackTrace();63 }finally {6465 }6667//⽣成表格68 jTable = new JTable(rowData,columnNames);69 jScrollPane = new JScrollPane(jTable);7071//添加组件72this.add(jScrollPane);7374//窗体设置75this.setTitle("学⽣管理系统");76this.setLocation(200,200);77this.setSize(280,200);78this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 79this.setVisible(true);80 }81 }。

java jtable用法(一)

java jtable用法(一)

java jtable用法(一)Java JTable的用法JTable简介JTable是Java Swing库中的一个组件,用于显示和编辑表格数据。

它可以按照行和列的形式展示数据,并支持用户交互操作。

在本文中,我们将介绍一些JTable的常见用法和技巧。

创建JTable要创建一个JTable,我们首先需要创建一个TableModel。

TableModel是一个数据模型,用于存储和管理表格中的数据。

以下是创建JTable的步骤:1.创建一个二维数组或者一个实现TableModel接口的自定义类。

2.实例化DefaultTableModel类,并传入之前创建的数据数组或者自定义TableModel类的实例。

3.将DefaultTableModel实例传入JTable的构造方法中,创建JTable对象。

// 创建数据数组Object[][] data = {{"John", 25, "USA"},{"Alice", 30, "Canada"},{"Bob", 35, "UK"}};// 创建列名数组String[] columnNames = {"Name", "Age", "Country"};// 创建DefaultTableModelDefaultTableModel model = new DefaultTableModel(data, co lumnNames);// 创建JTableJTable table = new JTable(model);自定义JTable外观JTable提供了许多方法和属性,用于自定义表格的外观。

下面列举了几个常用的用法:设置表格行高使用方法可以设置表格的行高。

默认情况下,行高是根据表格内容的实际高度自动调整的。

Java Swing JTable案例

Java Swing JTable案例

tableGoods.removeRow(i); } GoodsService goodsService=new GoodsService(); // // 遍历货物集合,集合中的每个对象都是 Goods 实例, // Goods 实例中的 toArrary()方法用以将 Goods 中的 // 每个值转换为对象数组 // DefaultTableModel 的 addRow 方法中,允许参数为 Object[], // 从而将一个 Goods 实例添加到表格中. // for(Goods g:goodsService.getAllGoods()){ tableGoods.addRow(g.toArray()); } System.out.println(tableGoods.getRowCount()); } }); // // 使用内部匿名类设置[删除所选数据]的按钮事件 // btnRemove.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ try { tableGoods.removeRow(table.getSelectedRow()); } catch (Exception ex) { } } }); contentPane.validate(); this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); } } public class GoodsDemo { public static void main(String[] args) { TableDemo win=new TableDemo("演示表格"); win.setVislic void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { = name; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } // // 生成对象数组,用于表格组件 // public Object[] toArray() { return new Object[]{this.id,,this.price}; } }

java中table的用法

java中table的用法

在 Java 中,通常使用 JTable 类来创建和操作表格(Table)。

JTable 是 Swing 组件库中的一部分,它允许你在界面中展示和编辑表格数据。

以下是 JTable 的基本用法:1. 创建 JTable 对象:你可以通过创建 JTable 对象来表示一个表格。

通常,你需要提供表格的数据模型(TableModel)来指定表格中的数据内容。

2. 设置数据模型:数据模型负责存储和管理表格中的数据。

你可以使用默认的数据模型 DefaultTableModel,也可以自定义实现 TableModel 接口的数据模型。

3. 显示表格:将 JTable 放置在界面中的某个容器中,并确保它能够被用户看到。

4. 自定义表格外观和行为:你可以对 JTable 进行各种自定义,包括调整列宽、行高,设置表头,添加排序和过滤功能等。

下面是一个简单的示例代码,演示了如何在 Java 中创建一个基本的 JTable:```javaimport javax.swing.JFrame;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.table.DefaultTableModel;public class Main {public static void main(String[] args) {JFrame frame = new JFrame("JTable Example");// 表格数据Object[][] data = {{"John", 25, "Male"},{"Amy", 30, "Female"},{"Bob", 20, "Male"}};// 表头String[] columns = {"Name", "Age", "Gender"};// 创建数据模型DefaultTableModel model = new DefaultTableModel(data, columns);// 创建表格JTable table = new JTable(model);// 将表格放入滚动窗格中,并添加到界面中JScrollPane scrollPane = new JScrollPane(table);frame.add(scrollPane);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.pack();frame.setVisible(true);}}```上述示例中,我们创建了一个简单的 JTable,并将其放置在一个 JFrame 中。

关于 JTable 刷新绘制(repaint) 以及JTable各属性设置

关于 JTable 刷新绘制(repaint) 以及JTable各属性设置

关于JTable 刷新绘制(repaint) 以及JTable各属性设置关于JTable 刷新绘制(repaint) 以及JTable各属性设置关于JTable 刷新绘制(repaint) java swing说明:本文典型应用于,当数据发生改变时,重新加载JTable数据,并且刷新,令使用者可以立刻看到改变的结果。

使用JTable展示数据时,本部分对数据的增、删、改、查所引起的数据列表的改变,可以进行实时刷新展示。

而不论改变动作来自于本窗体还是外来窗体。

1. 关于JTable 的数据装载以及关于响应JTable的某些事件说明:此部分包含构建java JTable表格;响应表格变化引起的事件;响应鼠标点击表格引起的事件;1.1 构建Jtable 数据模型函数1.1.1 构建Jtable title此函数用于购建表格台头部分public String[] jtableTitle() {int i;String[] jtableTitle = new String[i];/** 'i' means you will create table's column amount */ stringUser[0] = "TableColumn1";stringUser[1] = "TableColumn2";.......stringUser[i-1] = "TableColumni-1";return jtableTitle;}1.1.2 构建Jtable data structure此函数用于购建表格数据结构部分,即往表格中填入数据:public Object[][] dataStruct() throws SQLException {/** throws SQLException means data from some db's table */Object[][] dataStruct=null;db.connect(); /** some link database code in here */ ResultSet rs = db.exeQuery("select * from tablename"); ResultSet rscount = db.exeQuery("select count(*) from tablename");if (rs==null){emptyType=0;}else{emptyType=1;}/** 'emptyType' tell programe table's data whether empty*/ switch (emptyType){case 0:dataUser = new Object[1][i];dataUser[0][0]="null";dataUser[0][1]="null";dataUser[0][2]="null"; .....................dataUser[0][i-1]="null";rsemptyType=true;/** means db's table is empty. nothing data will fill in JTable */break;case 1:rscount.next();int j = rscount.getInt(1);/** means get table's data count amount*/dataUser = new Object[j][i];for (int x = 0; x < j; x++) {rs.next();dataUser[x][0] = rs.getString(dbTableColumnName1); dataUser[x][1] = rs.getString(dbTableColumnName2);dataUser[x][2] = rs.getString(dbTableColumnName3); ...........................dataUser[x][i-1] = rs.getString(dbTableColumnNamei); rsemptyType=false;/** means db's table have some data and code fill these data in JTable */db.disconnect();return dataStruct;}1.1.3 将构建好的数据加载入Jtablefinal JTable jTable1 = new JTable(dataStruct(),jtableTitle()) 1.2 JTable valueChanged() 监听事件此函数用于监听当JTable发生变化时的事件典型的应用,适用于将选中的Jtable的行数据,读入窗体中的text,combo等等控件。

JTable连接数据库

JTable连接数据库

import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;import java.util.*;public class JavaAccess{Vector rows; //表行值Vector columnHeads;// 表列名JTable tables;JScrollPane scrollpanes; //滚动条Connection conn; //连接数据库对象Statement state; //对数据库进行操作ResultSet rs; //对数据库操作的结果JButton btdel;public JavaAccess() throws Exception{Frame frames=new Frame("JTable显示数据库表");//创建窗口 frames.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println(""+e);}try{//下面的路径可设绝对路径和相对路径//String str="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=Connection.mdb";String str="jdbc:odbc:javaconn";//这里javaconn是创建数据源的名称conn=DriverManager.getConnection(str,"","");//创建连接state=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);String sql="select * from java"; //数据库语句rs=state.executeQuery(sql);//执行语句返回到结果集对象if(!(rs.next()))//判断数据库中是否有内容{JOptionPane.showMessageDialog(null, "结果集中无记录", "无记录",RMATION_MESSAGE); }ResultSetMetaData rsmd=rs.getMetaData();//获得结果集列属性值rows=new Vector();columnHeads=new Vector();for(int i=1;i<=rsmd.getColumnCount();i++){columnHeads.addElement(rsmd.getColumnName(i));//添加列名}do{rows.addElement(getNextRow(rs,rsmd));//添加表行值}while(rs.next());tables=new JTable(rows,columnHeads);tables.setSize(new Dimension(383,81));//设置表的大小//关闭rs.close();state.close();conn.close();//下面设置窗口的属性btdel=new JButton("删除");btdel.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){try{if(tables.getSelectedRow()!=-1){String names=(tables.getModel().getValueAt(tables.getSelectedRow(), 0)).toString(); Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");String str="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=Connection.mdb";Connection conn=DriverManager.getConnection(str,"","");Statement state=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); String sql="delete from java where name='"+names+"'";ResultSet rs=state.executeQuery(sql);ResultSetMetaData rsmd=rs.getMetaData();Vector rows=new Vector();Vector columnHeads=new Vector();for(int i=1;i<=rsmd.getColumnCount();i++){columnHeads.addElement(rsmd.getColumnName(i));//添加列名}do{rows.addElement(getNextRow(rs,rsmd));//添加表行值}while(rs.next());tables=null;tables=new JTable(rows,columnHeads);//关闭rs.close();state.close();conn.close();}}catch(Exception es){System.out.println(""+es.getMessage());}}});scrollpanes=new JScrollPane(tables);frames.add(scrollpanes,BorderLayout.NORTH);frames.add(btdel,BorderLayout.SOUTH);frames.setVisible(true);frames.setSize(400,400);frames.validate();}catch(SQLException e){System.out.println("错误信息:"+e.getMessage());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));}对我有用[0] 丢个板砖[0]laorer laorer 等级:#7trySystem.out.println("tables.getSelectedRow(): " + tables.getSelectedRow());////{if(tables.getSelectedRow()!=-1){String names=(tables.getModel().getValueAt(tables.getSelectedRow(), 0)).toString();Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");String str="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=Connection.mdb";Connection conn=DriverManager.getConnection(str,"","");Statement state=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);。

java autosizecolumn方法

java autosizecolumn方法

java autosizecolumn方法标题:深入理解与应用Java中的autosizeColumn方法在Java编程中,表格是我们常用的数据展示工具之一。

在处理大量数据时,我们常常需要根据数据的大小自动调整表格的列宽,以达到最佳的视觉效果和用户体验。

这就是Java Swing库中的JTable类提供的autosizeColumn方法的主要功能。

本文将详细解析autosizeColumn 方法的使用步骤和注意事项。

一、autosizeColumn方法的基本概念autosizeColumn是JTable类的一个方法,其主要作用是根据表格中单元格的内容自动调整指定列的宽度。

这个方法接受一个参数,即需要调整的列的索引。

二、使用autosizeColumn方法的步骤1. 创建JTable对象:首先,我们需要创建一个JTable对象来存放我们的数据。

这通常涉及到创建一个二维数组或者一个TableModel对象来存储数据。

javaObject[][] data = {{"Column 1", "Column 2", "Column 3"}, {"Data 1", "Data 2", "Data 3"}};DefaultTableModel model = new DefaultTableModel(data, new String[]{"Column 1", "Column 2", "Column 3"});JTable table = new JTable(model);2. 添加表格到JScrollPane:为了能够滚动查看表格内容,我们通常会将表格添加到JScrollPane中。

javaJScrollPane scrollPane = new JScrollPane(table);3. 调用autosizeColumn方法:然后,我们可以调用autosizeColumn 方法来自动调整指定列的宽度。

java编程jtreetable用法

java编程jtreetable用法

java编程jtreetable用法全文共四篇示例,供读者参考第一篇示例:Java编程中,JTreeTable是一个非常常用的控件,它实现了树状结构和表格的组合,可以方便地显示具有层级关系的数据。

在实际的项目开发中,往往需要展示类似文件目录树的数据结构,这时使用JTreeTable就非常方便了。

JTreeTable不是Java标准库中的组件,但是可以通过第三方库来实现,比如SwingX和GlazedLists。

这两个库都提供了JTreeTable相关的实现,开发者可以根据自己的需求选择适合自己的库来使用。

使用JTreeTable可以让界面变得更加直观和美观,用户可以通过展开和折叠树节点来查看详细信息,同时也可以对表格进行排序、过滤和搜索等操作。

下面我们来看一下如何在Java中使用JTreeTable。

我们需要导入相应的库,比如SwingX或者GlazedLists。

然后,我们可以通过以下代码来创建一个简单的JTreeTable:```JTreeTable treeTable = new JTreeTable(dataModel);```dataModel是实现了TreeTableModel接口的类的实例,这个类负责管理树节点和表格数据之间的关联关系。

可以根据自己的需求来实现这个接口,也可以使用已有的实现类。

接着,我们可以将JTreeTable添加到一个容器中,比如JScrollPane:这样就可以在界面上显示一个带有树状结构的表格了。

用户可以通过点击树节点来展开或者折叠子节点,也可以对表格进行排序、过滤和搜索等操作。

除了基本的使用方法之外,JTreeTable还提供了许多其他功能,比如编辑单元格、自定义表头和行高、设置列宽和对齐方式等。

开发者可以根据自己的需求来进行定制,使得界面更符合实际项目的需求。

第二篇示例:Java是一种流行的编程语言,广泛用于开发各种类型的应用程序。

JTreeTable是Java Swing组件库中的一个非常有用的控件,它结合了JTree和JTable的功能,可以方便地展示树状结构的数据。

JTABLE内容居中显示

JTABLE内容居中显示
public class MyJTable extends JTable { private MyCellRenderer renderer;
public MyJTable(MyCellRenderer renderer) { super(8, 6); this.renderer = renderer; }
public TableCellRenderer getCellRenderer(int row, lic static void main(String[] args) { MyJTable t = new MyJTable(new MyCellRenderer()); JScrollPane pane1 = new JScrollPane(t);// JFrame frame = new JFrame(“JTableDemo”); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setContentPane(pane1); frame.pack(); frame.setVisible(true);
博客园 用户登录 代码改变世界 密码登录 短信登录 忘记登录用户名 忘记密码 记住我 登录 第三方登录/注册 没有账户, 立即注册
JTABLE内 容 居 中 显 示
要让JTable的内容居中显示方法如下:
JTable tabledata = new JTable();
DefaultTableCellRenderer tcr = new DefaultTableCellRenderer();// 设置table内容居中 // tcr.setHorizontalAlignment(JLabel.CENTER); tcr.setHorizontalAlignment(SwingConstants.CENTER);// 这句和上句作用一样 tabledata.setDefaultRenderer(Object.class, tcr);

javajtable用法

javajtable用法

javajtable用法1. 创建JTable对象:要创建一个JTable对象,可使用其构造函数之一、以下是一个示例:JTable table = new JTable(;2.设置表头:表格的第一行通常称为表头,用于显示列名。

要设置表头,可以使用JTable的getTableHeader(方法和setDefaultRenderer(方法。

下面是一个示例:JTableHeader tableHeader = table.getTableHeader(;tableHeader.setDefaultRenderer(new MyTableHeaderRenderer(); 3.添加到容器:将JTable添加到显示表格的容器中。

例如,将它添加到一个面板中:JPanel panel = new JPanel(;panel.add(table);4.设置数据模型:JTable需要一个数据模型来存储和管理表格数据。

默认情况下,JTable使用DefaultTableModel作为其数据模型。

以下是设置数据模型的示例:DefaultTableModel model = new DefaultTableModel(;table.setModel(model);5.填充表格数据:可以通过添加行和列的方式来填充表格数据。

以下是一个示例:model.addRow(new Object[]{"John Doe", "24", "Male"});model.addRow(new Object[]{"Jane Smith", "30", "Female"}); 6.选择行和列:可以使用JTable的setRowSelectionAllowed(和setColumnSelectionAllowed(方法来允许或禁止行或列的选择。

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

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。

2.更改表格的默认值
在单元格中,表格线的缺省颜色是Color.gray。

如果用户需要可以修改表格线的颜色,如将表格线更改为红色。

用户也可以隐藏单元格的方格坐标线,如下面代码所示:
除此之外,还可以更改单格的字体颜色和背景颜色,如下列代码修改选择的行的背景颜色为“黑色”,字体颜色为“白色”。

高度减去行间的距离。

table.setRowHeight(intpixelHeight);
3.设置列宽
TableColumn会不断追踪列的宽度,并负责列大小的调整,包括最大和最小宽度。

TableColumnModel管理着TableColumns的集合以及列的选择。

要设置某个列的宽度,为表格列的模型设置一个参照。

然后,取得想要的
当用户拖放列的时候,列的索引并不会发生改变。

getColumn(0)方法会一直返回正确的列。

4.选择模式
在缺省状况下,当用户在JTable里选择一个单元格的时候,整个行都被选中了。

有多种方法能够让用户自定义选择的方式。

利用ListSelectionModel接口,可以允许用户选择单个或者多个行:
在ListSelectionModel中,可以通过下面的字段来修改选择的范围:
●SINGLE_SELECTION 允许一次选择一行。

●SINGLE_INTERVAL_SELECTION 允许选择相邻的一系列行。

●MULTIPLE_INTERV AL_SELECTION 也允许选择相邻的列,但是带有扩展功能。


允许用户使用【Ctrl】键进行多个互不相邻的选择(即选择不相邻的行)。

通过上述内容的学习,下面我们可以通过JTable来显示studentmanage数据库中information数据表中的内容。

在上述代码中,主要可以分为两方面的内容。

一是,连接数据库及查询数据表内容;二是创建JTable对象,并设置该对象相关属性,效果如下图13-11所示。

图13-11 显示数据表内容。

相关文档
最新文档