swing中的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. 渲染器渲染器用于将单元格中的值呈现为用户界面上的文本或图像。
JS绑定事件三种方式
JS绑定事件三种⽅式三种⽅式1、在DOM中直接绑定2、在JS代码中直接绑定3、使⽤事件监听函数绑定事件⼀、在DOM中直接绑定也就是直接在html标签中通过 onXXX=“” 来绑定。
举个例⼦:<input type="button" value="点我呦" οnclick="alert("hello world!")"/><!--或者--><input type="button" value="点我呦" οnclick="testAlert()"><script type="text/javascript">function testAlert(){alert("hello world!");}</script>缺点:不利于⾏为和结构相分离,耦合度太⾼,不建议在项⽬中使⽤。
在遇到相同类型的事件时,只会去处理第⼀个事件,⽽忽略后续的事件。
传统⽅法只会在事件冒泡中运⾏,⽽⾮捕获和冒泡事件对象参数(e)仅⾮IE浏览器可⽤优点:⾮常简单和稳定,可以确保它在你使⽤的不同浏览器中运作⼀致处理事件时,this关键字引⽤的是当前元素事件解绑对象.on事件名字=null;<body><input type="button" value="第⼀个按钮" id="btn1"/><input type="button" value="⼲掉第⼀个按钮的事件" id="btn2"/><div id="dv"></div><script>document.getElementById("btn1").onclick = function () {console.log("码仙");};document.getElementById("btn2").onclick = function () {document.getElementById("btn1").onclick = null;};</script></body>⼆、JavaScript代码中直接绑定在JavaScript中通过查找DOM对象,对其绑定,elementObject.οnclick=function(){} 的格式,举例如下<input type="button" value="点我呦" id="demo"><script type="text/javascript">document.getElementById("demo").οnclick=function testAlert(){alert("hello world!");}</script>优点将⾏为与结构分离开了⾮常简单和稳定,可以确保它在你使⽤的不同浏览器中运作⼀致处理事件时,this关键字引⽤的是当前元素缺点:传统⽅法只会在事件冒泡中运⾏,⽽⾮捕获和冒泡⼀个元素⼀次只能绑定⼀个事件处理函数。
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方法来监听列表选择事件。
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用法一、概述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是基于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 swing 代码例子
java swing 代码例子Java Swing是Java语言中用于构建图形用户界面(GUI)的一个开发工具包。
它提供了一组丰富的组件和容器,可以用于创建各种界面元素,如按钮、文本框、标签等。
下面是一些使用Java Swing的代码示例。
1. 创建一个简单的窗口```javaimport javax.swing.JFrame;public class SimpleWindow {public static void main(String[] args) {JFrame frame = new JFrame("简单窗口");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(400, 300);frame.setVisible(true);}}```这段代码创建了一个简单的窗口,并设置了窗口的标题、关闭操作、大小和可见性。
2. 添加按钮和事件监听器```javaimport javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JOptionPane;public class ButtonExample {public static void main(String[] args) {JFrame frame = new JFrame("按钮示例");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JButton button = new JButton("点击我");button.addActionListener(e -> {JOptionPane.showMessageDialog(frame, "你点击了按钮");});frame.add(button);frame.setSize(400, 300);frame.setVisible(true);}}```这段代码创建了一个带有一个按钮的窗口,当按钮被点击时,会弹出一个对话框显示"你点击了按钮"。
Swing-JTable用法-入门
Swing-JTable⽤法-⼊门注:本⽂为学习笔记,原⽂为,本⽂所有素材与代码均源于原⽂,可能会有部分更改。
JTable是Swing中的表格控件,它的外观如下所⽰:没错,excel或者access数据库的编辑区就是JTable这样的控件了。
创建JTableJTable提供了2个构造器可以让你⽤数据和头部直接⽣成它:JTable(Object[][] rowData, Object[] columnNames)JTable(Vector rowData, Vector columnNames)这两个构造器有⼀些特性你必须要注意:1.JTable所有的单元格都是可编辑的;2.它将所有数据都当做string来处理。
本来,JTable可以将布尔型数据⽤⼀个checkBox来进⾏展⽰,就像表1那样,在这⾥就不⾏了。
3.它要求你把所有数据都放到数组或vector中。
如果你的数据来⾃于数据库,那么专门再填充到数组实在是多此⼀举。
呐,如果你不能忍受以上限制,那么就使⽤table Model来管理你的数据吧!创建TableModel如果程序没有显式地指定tableModel,JTable会⾃动⽣成⼀个实例,这样做的副作⽤在上⾯已经说过了。
我们⾃⼰创建tableModel可以让数据得到更好的展⽰,这样做的⽅法是继承。
它已经提供了tableModel接⼝的⼤部分默认实现,在最低限度下,你只需要实现以下三个⽅法:public int getRowCount();public int getColumnCount();public Object getValueAt(int row, int column);当然,如果你的应⽤程序有其他定制化的功能,你可以⾃⼰实现的其它⽅法,⽐如:public Class getColumnClass(int c)//JTable uses this method to determine the default renderer editor for each cellpublic boolean isCellEditable(int row, int col)//Don't need to implement this method unless your table's editablepublic void setValueAt(Object value, int row, int col) //Don't need to implement this method unless your table's data can change.⽰意了如何⾃⼰创建并使⽤tableModel。
js中绑定事件的几种方法
js中绑定事件的几种方法在JavaScript中,绑定事件的方法主要有以下几种:1. 直接在HTML元素中添加事件监听器:这是最古老的方法,直接在HTML元素中添加`onclick`、`onload`等属性,然后指定一个JavaScript函数。
```html<button onclick="myFunction()">Click me</button>```2. 使用`addEventListener`方法:这是现代的、推荐的方法,因为它可以添加多个事件监听器,并且可以移除它们。
```javascript("myButton").addEventListener("click", myFunction);```3. 使用`attachEvent`和`detachEvent`方法(IE浏览器专用):这是旧版本的Internet Explorer(IE)浏览器中用于添加和移除事件监听器的方法。
```javascriptvar myButton = ("myButton");("onclick", myFunction);// ... 之后可以调用 detachEvent 来移除事件监听器```4. 使用`on`和`off`方法:这是另一种添加和移除事件监听器的方法,但不如`addEventListener`方法通用。
```javascriptvar myButton = ("myButton");('click', myFunction); // 添加事件监听器// ... 之后可以调用 off 来移除事件监听器,例如:('click');```5. 使用jQuery:jQuery是一个流行的JavaScript库,它提供了简洁的方法来添加和移除事件监听器。
在MVVM模式中,按钮Click事件的绑定方法
在MVVM模式中,按钮Click事件的绑定⽅法 在MVVM模式中,我们将Button的⽅法写到ViewModel中,然后绑定到前端界⾯。
通常的做法是写⼀个类,继承ICommand接⼝,然⽽如果按钮⽐较多的话,就需要写很多的类,对于后期维护造成很⼤的不变,微软提供了⼀个DelegateCommand类,可以简化开发。
使⽤⽅法如下:⾸先⽣命ViewModel属性,GetMsg函数,public DelegateCommand GetMsg{get { return new DelegateCommand(GetMessage); }}在ViewModel中写⽅法GetMessage,代码如下:public void GetMessage(object parameter){//Your code...}然后在前端绑定,代码如下:<Button Command="{Binding GetMsg}" IsEnabled="{Binding custom.IsEnable,Mode=TwoWay}"CommandParameter="{Binding}" Content="OK" Width="100" Height="32"HorizontalAlignment="Left" Margin="149,228,0,0" Name="button1"VerticalAlignment="Top" Canvas.Left="-105" Canvas.Top="3" />其实,DelegateCommand只是⼀个继承⾃ICommand的类,下⾯我们来写⾃⼰的DelegateCommand类,实现同样的功能。
swing 的用法
swing 的用法一、概述Swing是Java编程语言中一个重要的图形用户界面(GUI)工具包,提供了各种组件和布局管理器,用于创建丰富多彩的桌面应用程序。
Swing包含了多个重要的组件类,如按钮(Button)、标签(Label)、文本框(TextField)、文本域(TextArea)等等,这些组件类提供了丰富的API,用于实现各种交互功能。
二、Swing组件1.按钮(Button):Swing中的Button类是一个简单的用户界面组件,用于响应用户的点击事件。
可以通过设置按钮的文本、图标和监听器等属性来定制按钮的外观和行为。
2.标签(Label):Label类用于在GUI中显示文本或图像信息。
可以通过设置标签的文本内容、字体、颜色等属性来定制标签的外观。
3.文本框(TextField)和文本域(TextArea):这两个组件类分别用于输入和显示多行文本信息。
可以通过设置文本框和文本域的大小、行数、滚动条等属性来定制它们的外观和行为。
4.菜单(Menu)和菜单项(MenuItem):Menu类用于创建菜单,MenuItem类是菜单项的子类。
可以通过设置菜单和菜单项的名称、图标、监听器等属性来定制它们的外观和行为。
5.表格(Table)和表格组件(JTable):表格是Swing中另一个重要的组件类,用于显示和操作表格数据。
可以通过设置表格的大小、列数、行头、单元格样式等属性来定制表格的外观和行为。
三、Swing布局管理器Swing提供了多种布局管理器,用于控制组件在容器中的布局方式。
常见的布局管理器包括:1.FlowLayout:按照水平或垂直方向自动排列组件。
2.BorderLayout:将容器分为左右、左上、右上、左下、右下五个区域,将组件放置在指定的区域中。
3.GridLayout:将组件按照网格方式排列,可以设置行数和列数。
4.CardLayout:用于管理多个面板或窗口,通过切换卡片来显示不同的界面。
JTable为单元格添加按钮效果和事件效果
JTable为单元格添加按钮效果和事件效果⼀、添加按钮显⽰效果在JTable中,单元格的数据默认是Label的效果,也没有事件。
如果要为单元格添加⼀个按钮显⽰效果的话,那么就需要使⽤到⼀个swing的接⼝:javax.swing.table.TableCellRenderer,来改变单元桥格的默认默认渲染⽅法(DefaultTableCellRenderer),实现的⾃定义的渲染器如下:package org.sky.table.render;import ponent;import javax.swing.JButton;import javax.swing.JPanel;import javax.swing.JTable;import javax.swing.table.TableCellRenderer;public class MyButtonRender implements TableCellRenderer{private JPanel panel;private JButton button;public MyButtonRender(){this.initButton();this.initPanel();// 添加按钮。
this.panel.add(this.button);}private void initButton(){this.button = new JButton();// 设置按钮的⼤⼩及位置。
this.button.setBounds(0, 0, 50, 15);// 在渲染器⾥边添加按钮的事件是不会触发的// this.button.addActionListener(new ActionListener()// {//// public void actionPerformed(ActionEvent e)// {// // TODO Auto-generated method stub// }// });}private void initPanel(){this.panel = new JPanel();// panel使⽤绝对定位,这样button就不会充满整个单元格。
jqgrid谈谈给表格设置列头事件、行事件、内容事件
jqgrid谈谈给表格设置列头事件、⾏事件、内容事件往往我们需要给显⽰的jqgrid表格赋予事件功能,⽐如:列头事件、⾏事件、内容事件。
需要的效果可能如下:如你所见,以上的超链接和按钮均是绑定的事件。
那分别如何实现这些事件的绑定呢?⼀、⾏事件⾏事件:在每个⾏头部或尾部的事件。
⼀般⽤于放置‘编辑’或“删除”按钮在jqgrid中,⾏事件所在的列实际上也是⼀个绑定列,故可以把⾏事件的列看成和普通列字段⼀样来对待。
可以通过设置 formatter 来动态实现编辑区事件标签。
由于⾏事件可能需要传递当前⾏的其他列的值作为参数,可以通过 rowObject 来获取指定列的值。
如:或 rowObject["Name"]请参考以下代码块://初始化操作区所在列var curRowF = {//label: "操作区",//标签内容label: '<label title="操作区" style="width:98%;text-align:center">操作区</label>',name: "actions",//字段编码align: "center",//横向位置sortable: false,//是否排序hidden: false,//是否隐藏frozen: true,//是否冻结// width: 80,//列宽度width: outEventArr.length * 30,//列宽度formatter: function (cellvalue, options, rowObject) { return cellvalue; }};var formatRowFun = function (cellvalue, options, rowObject) {var lbl = "";if (outEventArr != null && outEventArr.length > 0) {for (var j = 0; j < outEventArr.length; j++) {var ev = outEventArr[j];if (ev.EventType == "1")//为⾏事件时{lbl += OutEventForLabel(ev, null, rowObject, cellvalue) + " ";}}}return lbl;};View Code代码说明:OutEventForLabel ⽅法为我⾃⼰编写事件拼凑⽅法,可以根据⾃⼰项⽬实际需求去实现⼆、列事件列事件:附加在列名上的事件直接在 colModel 对应列的 label 上去配置事件colModel: [{ label: '<a href="HtmlPage1.html" title="测试标题">OrderID</a>', name: 'OrderID', key: true, width: 75 }]View Code三、内容事件内容事件:给jqgrid内容区域配置事件内容事件配置需要依附在具体的某个列上,需要在 formatter 中配置⽣成事件//拼凑内容事件的formatter函数var formatFun = function (cellvalue, options, rowObject) {//获取内容事件标签//为当前列的name名称var evlb = OutEventForLabel(eval("event_" + ), null, rowObject, cellvalue);if (evlb != null && evlb != "") {return evlb;}return cellvalue;};View Code由于内容事件的拼凑是动态的,需要事先定好是给那个列所在值拼凑事件,故我的写法,⼀个动态变量名:OutEventForLabel(eval("event_" + ), null, rowObject, cellvalue);结尾处给⼤家分享⼀个细节:对于每个列字段的 formatter ⽅法,该部分函数实际上是在jqgrid的表格框架内容加载完毕后才执⾏的,也只有这样我们才能通过rowObject 获取各⾏的其他列值。
Swing之JTable详解
Swing之JTable详解类层次结构图:ng.Objectponent--java.awt.Container--javax.swing.JComponent--javax.swing.JTabel1、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为输入来源的数据表格,可显示行的名称。
我们先以Array构造方式,说明如何利用JTable来建立一个简单的表格:import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.util.*;public class SimpleTable{public SimpleTable(){JFrame f=new JFrame();Object[][] playerInfo={{"阿呆",new Integer(66),new Integer(32),new Integer(98),new Boolean(false)},{"阿呆",new Integer(82),new Integer(69),new Integer(128),new Boolean(true)},};String[] Names={"姓名","语文","数学","总分","及格"};JTable table=new JTable(playerInfo,Names);table.setPreferredScrollableViewportSize(new Dimension(550,30));JScrollPane scrollPane=new JScrollPane(table);f.getContentPane().add(scrollPane,BorderLayout.CENTER);f.setTitle("Simple Table");f.pack();f.show();f.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {System.exit(0);}});}public static void main(String[] args){SimpleTable b=new SimpleTable();}}表格由两部份组成:分别是行标题(Column Header)与行对象(Column Object).利用JTable 所提供的getTableHeader()方法取得行标题。
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 中。
Swing中添加事件响应的三种处理方式说明
Swing中添加事件响应的三种处理方式说明Swing中添加事件响应的三种处理方式说明举例说明事件响应在Swing中,事件响应是通过监听器对象来处理事件的方式实行的,这种方式被称为事件委托模型. 以JButton举例,它内部有一个名为listeneSwing中添加事件响应的三种处理方式说明举例说明事件响应在Swing中,事件响应是通过监听器对象来处理事件的方式实行的,这种方式被称为事件委托模型.以JButton举例,它内部有一个名为listenerList的链表,在点击按钮时,会产生一个ActionEvent事件,此后内部会依次调用位于listenerList中的每一个actionListener子类实例的actionPerformed方法,这就是事件响应的过程.当调用JButton的addActionListener方法时, 外界actionListener子类实例的指针就被放入了listenerList中,当按钮点击事件产生时,这个实例的actionPerformed方法就会被调用,从而按钮的点击事件处理就被委托到了actionListener子类实例中进行处理.实现ActionListener的三种方式1.实现一个ActionListener子类,再把按钮的事件响应委托给这个子类的实例处理.这种方式并不常用,我在这里列出是为了教学.2.让界面类实现ActionListener接口,再把事件响应委托给界面类.这种方式适合于处理一些短小简单或要求内聚的事件响应.3.用匿名类实现ActionListener接口,再把事件委托给这个匿名类的实例.这种方式是Swing事件处理的主流.方式一:实现一个ActionListener子类// 实现了ActionListener接口的类public class Button3ActionListener implements ActionListener{public void actionPerformed(ActionEvent e) {String buttonText=((JButton)e.getSource()).getText();"你按下了" + buttonText);}}// 给按钮三添加事件处理button3.addActionListener(new Button3ActionListener());方式二:让界面类实现ActionListener接口public class MyFrame extends JFrame implements ActionListener{ public MyFrame() {....button2.addActionListener(this);}/*** 按钮二的事件响应在此*/public void actionPerformed(ActionEvent e) {if(e.getSource()==button2){showMsg("你按下了" + button2.getText());}}}方式三:用匿名类的方式添加事件响应button1 = new JButton("按钮一");button1.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {showMsg("你按下了" + button1.getText());}});。
Java JTable的设置方法
void addColumn(TableColumn aColumn)将 aColumn 追加到此 JTable 的列模型所保持的列数组的结尾。
void addColumnSelectionInterval(int index0, int index1)将从 index0 到 index1(包含)之间的列添加到当前选择中。
void addNotify()调用 configureEnclosingScrollPane 方法。
void addRowSelectionInterval(int index0, int index1)将从 index0 到 index1(包含)之间的行添加到当前选择中。
void changeSelection(int rowIndex, int columnIndex, boolean to ggle, boolean extend)根据以下两个标志的状态,更新表的选择模型:toggle 和 extend。
void clearSelection()取消选中所有已选定的行和列。
void columnAdded(TableColumnModelEvent e)将列添加到表的列模型时调用。
int columnAtPoint(Point point)返回 point 位置的列索引,如果结果不在[0, getColumnCount()-1] 范围内,则返回-1。
void columnMarginChanged(ChangeEvent e)当列由于间距的改变而被移动时调用。
void columnMoved(TableColumnModelEvent e)重新定位列时调用。
void columnRemoved(TableColumnModelEvent e)从表的列模型中移除列时调用。
void columnSelectionChanged(ListSelectionEvent e) TableColumnModel 的选择模型更改时调用。
关于 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等等控件。
java中swing的用法
java中swing的用法Swing是Java中的一种GUI(图形用户界面)工具包,它是基于AWT(抽象窗口工具箱)开发的。
和AWT不同的是,Swing使用了Java 2D API来实现自己的用户界面元素,这使得Swing的外观和感觉更加现代化,更加灵活。
2. Swing的优点Swing的优点主要有以下几点:- 跨平台性:Swing是基于Java开发的,因此可以在任何支持Java的平台上运行,如Windows、Linux、Unix等。
- 灵活性:Swing提供了丰富的组件,开发者可以通过组合不同的组件来创建非常复杂的用户界面。
- 动态性:Swing提供了一些动画和效果来增强用户体验。
- 可定制性:Swing的外观和感觉可以通过使用不同的Look and Feel来改变,而这些Look and Feel可以在运行时动态地切换。
- 易学易用:Swing的API设计合理,很容易学习和使用。
3. Swing的组件Swing提供了很多组件,下面列举了一些常用的组件:- JLabel:标签组件,用于显示文本或图像。
- JButton:按钮组件,用于触发事件。
- JTextField:文本框组件,用于输入文本。
- JPasswordField:密码框组件,用于输入密码。
- JTextArea:文本域组件,用于显示多行文本。
- JList:列表组件,用于显示列表数据。
- JTable:表格组件,用于显示表格数据。
- JComboBox:下拉列表组件,用于选择一个选项。
- JCheckBox:复选框组件,用于选择多个选项中的一个或多个。
- JRadioButton:单选按钮组件,用于选择一个选项。
4. Swing的布局管理器在Swing中,布局管理器用于控制组件的排列。
Swing提供了多种布局管理器,下面列举了一些常用的布局管理器:- BorderLayout:边框布局管理器,将容器分成5个区域:北、南、东、西、中。
java table用法
java table用法Java Table 是 Swing 库中的一种高级容器,它允许用户以表格形式展示数据,并提供了各种方法和事件来操作和处理表格数据。
在本文中,我们将介绍 Java Table 的基本用法及其常用的一些特性和功能。
一、创建 Java Table创建 Java Table 很简单,只需要按照以下步骤即可:1.导入 Swing 组件包:```javaimport javax.swing.*;```2.创建一个二维数组来存储要展示的数据:```javaObject[][] data = {{"001", "John", "Doe", "23", "Male", "Student"},{"002", "Mary", "Smith", "28", "Female", "Teacher"},{"003", "Bob", "Johnson", "45", "Male", "Engineer"},{"004", "Sara", "Wilson", "32", "Female", "Doctor"}};```3.设置表格的列名:```javaString[] columnNames = {"ID", "First Name", "Last Name", "Age", "Gender", "Occupation"};```4.创建一个 JTable 对象并将数据和列名作为参数传入:```javaJTable table = new JTable(data, columnNames);```5.将表格添加到窗口中:二、设置表格样式```javatable.setBackground(Color.YELLOW);```2.设置表格内容的字体和大小:```javatable.setRowHeight(30);table.getColumnModel().getColumn(0).setPreferredWidth(50);table.getColumnModel().getColumn(1).setPreferredWidth(100);table.getColumnModel().getColumn(2).setPreferredWidth(100);table.getColumnModel().getColumn(3).setPreferredWidth(50);table.getColumnModel().getColumn(4).setPreferredWidth(50);table.getColumnModel().getColumn(5).setPreferredWidth(150);```4.设置表格单元格的对齐方式:```javaDefaultTableCellRenderer centerRenderer = new DefaultTableCellRenderer(); centerRenderer.setHorizontalAlignment(JLabel.CENTER);table.setDefaultRenderer(Object.class, centerRenderer);```三、对表格进行操作1.获取表格中的某个单元格:3.获取选中的行数和列数:5.排序表格数据:四、表格事件监听1.监听单击表格头部的事件:```javatable.addMouseListener(new MouseAdapter() {public void mouseClicked(MouseEvent e) {int row = table.rowAtPoint(e.getPoint());int col = table.columnAtPoint(e.getPoint());Object value = table.getValueAt(row, col);System.out.println("Clicked on row " + row + ", column " + col + ", value is \"" + value + "\".");}});```总结在 Java 中使用 Table 来展示数据是一种非常方便和灵活的方式,通过 Java Table 可以轻松地对数据进行操作和处理。