Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
御承扬
java1
提交
f0cfe80b
J
java1
项目概览
御承扬
/
java1
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
java1
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
f0cfe80b
编写于
8月 09, 2019
作者:
御
御承扬
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update
上级
b43780f3
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
136 addition
and
14 deletion
+136
-14
.idea/workspace.xml
.idea/workspace.xml
+14
-14
src/高级Swing组件/TableModelTest.java
src/高级Swing组件/TableModelTest.java
+122
-0
未找到文件。
.idea/workspace.xml
浏览文件 @
f0cfe80b
...
...
@@ -2,7 +2,7 @@
<project
version=
"4"
>
<component
name=
"ChangeListManager"
>
<list
default=
"true"
id=
"4e65795a-6659-4829-a5e6-120206826e71"
name=
"Default Changelist"
comment=
""
>
<change
afterPath=
"$PROJECT_DIR$/src/高级Swing组件/
JTable
Test.java"
afterDir=
"false"
/>
<change
afterPath=
"$PROJECT_DIR$/src/高级Swing组件/
TableModel
Test.java"
afterDir=
"false"
/>
<change
beforePath=
"$PROJECT_DIR$/.idea/workspace.xml"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/.idea/workspace.xml"
afterDir=
"false"
/>
</list>
<list
id=
"cbcb3066-613e-44bd-84c2-b0cf22cc5a78"
name=
"New changelist"
comment=
"New changelist"
/>
...
...
@@ -129,7 +129,7 @@
</list>
</option>
</component>
<component
name=
"RunManager"
selected=
"应用程序.
JTable
Test"
>
<component
name=
"RunManager"
selected=
"应用程序.
TableModel
Test"
>
<configuration
name=
"FileFilterTest"
type=
"Application"
factoryName=
"应用程序"
temporary=
"true"
nameIsGenerated=
"true"
>
<option
name=
"MAIN_CLASS_NAME"
value=
"高级Swing组件.FileFilterTest"
/>
<module
name=
"IDEA_JAVA"
/>
...
...
@@ -182,8 +182,8 @@
<option
name=
"Make"
enabled=
"true"
/>
</method>
</configuration>
<configuration
name=
"
JToolBar
Test"
type=
"Application"
factoryName=
"应用程序"
temporary=
"true"
nameIsGenerated=
"true"
>
<option
name=
"MAIN_CLASS_NAME"
value=
"高级Swing组件.
JToolBar
Test"
/>
<configuration
name=
"
TableModel
Test"
type=
"Application"
factoryName=
"应用程序"
temporary=
"true"
nameIsGenerated=
"true"
>
<option
name=
"MAIN_CLASS_NAME"
value=
"高级Swing组件.
TableModel
Test"
/>
<module
name=
"IDEA_JAVA"
/>
<extension
name=
"coverage"
>
<pattern>
...
...
@@ -197,11 +197,11 @@
</configuration>
<recent_temporary>
<list>
<item
itemvalue=
"应用程序.TableModelTest"
/>
<item
itemvalue=
"应用程序.JTableTest"
/>
<item
itemvalue=
"应用程序.JProgressBarTest"
/>
<item
itemvalue=
"应用程序.FileFilterTest"
/>
<item
itemvalue=
"应用程序.JFileChooserTest"
/>
<item
itemvalue=
"应用程序.JToolBarTest"
/>
</list>
</recent_temporary>
</component>
...
...
@@ -313,14 +313,7 @@
<workItem
from=
"1565180451307"
duration=
"1274000"
/>
<workItem
from=
"1565226009540"
duration=
"5206000"
/>
<workItem
from=
"1565308932531"
duration=
"46000"
/>
<workItem
from=
"1565309017412"
duration=
"2979000"
/>
</task>
<task
id=
"LOCAL-00027"
summary=
"Update"
>
<created>
1561297454142
</created>
<option
name=
"number"
value=
"00027"
/>
<option
name=
"presentableId"
value=
"LOCAL-00027"
/>
<option
name=
"project"
value=
"LOCAL"
/>
<updated>
1561297454142
</updated>
<workItem
from=
"1565309017412"
duration=
"5703000"
/>
</task>
<task
id=
"LOCAL-00028"
summary=
"Update"
>
<created>
1561361449155
</created>
...
...
@@ -658,7 +651,14 @@
<option
name=
"project"
value=
"LOCAL"
/>
<updated>
1565233358615
</updated>
</task>
<option
name=
"localTasksCounter"
value=
"76"
/>
<task
id=
"LOCAL-00076"
summary=
"Update"
>
<created>
1565316542572
</created>
<option
name=
"number"
value=
"00076"
/>
<option
name=
"presentableId"
value=
"LOCAL-00076"
/>
<option
name=
"project"
value=
"LOCAL"
/>
<updated>
1565316542572
</updated>
</task>
<option
name=
"localTasksCounter"
value=
"77"
/>
<servers
/>
</component>
<component
name=
"TodoView"
selected-index=
"3"
>
...
...
src/高级Swing组件/TableModelTest.java
0 → 100644
浏览文件 @
f0cfe80b
package
高级
Swing
组件
;
// !/usr/bin/env jdk1.8
// encoding:utf-8
//@software:IntelliJ IDEA
//@pack:高级Swing组件
//@user:彭友聪
//@date:2019/08/09
//@time:上午 10:11
//@project:IDEA_JAVA
//@file:TableModelTest.java
//Author:御承扬
//email:2923616405@qq.com
import
javax.swing.*
;
import
javax.swing.event.TableModelEvent
;
import
javax.swing.event.TableModelListener
;
import
javax.swing.table.DefaultTableModel
;
import
java.awt.*
;
import
java.awt.event.ActionEvent
;
import
java.awt.event.ActionListener
;
public
class
TableModelTest
extends
JFrame
{
private
DefaultTableModel
tableModel
;
// 定义表格模型对象
private
JTable
table
;
// 表格对象
private
JTextField
aTextField
,
bTextField
;
// 面板下面的两个输入框
private
JButton
addButton
,
delButton
,
updButton
;
// 增删改三个按钮
private
TableModelTest
()
{
super
();
setTitle
(
"维护表格模型示例"
);
setBounds
(
100
,
100
,
500
,
375
);
setDefaultCloseOperation
(
WindowConstants
.
EXIT_ON_CLOSE
);
String
[]
columnNames
=
{
"A"
,
"B"
};
String
[][]
tableValues
=
{{
"A1"
,
"B1"
},
{
"A2"
,
"B2"
},
{
"A3"
,
"B3"
}};
tableModel
=
new
DefaultTableModel
(
tableValues
,
columnNames
);
table
=
new
JTable
(
tableModel
);
JScrollPane
scrollPane
=
new
JScrollPane
(
table
);
getContentPane
().
add
(
scrollPane
,
BorderLayout
.
CENTER
);
buttonInit
();
// 按钮初始化
addListener
();
// 给组件添加监听事件
}
private
void
buttonInit
()
{
final
JPanel
panel
=
new
JPanel
();
getContentPane
().
add
(
panel
,
BorderLayout
.
SOUTH
);
panel
.
add
(
new
JLabel
(
"A: "
)
);
aTextField
=
new
JTextField
(
"A4"
,
10
);
panel
.
add
(
aTextField
);
panel
.
add
(
new
JLabel
(
"B: "
)
);
bTextField
=
new
JTextField
(
"B4"
,
10
);
panel
.
add
(
bTextField
);
addButton
=
new
JButton
(
"添加"
);
updButton
=
new
JButton
(
"修改"
);
delButton
=
new
JButton
(
"删除"
);
panel
.
add
(
addButton
);
panel
.
add
(
updButton
);
panel
.
add
(
delButton
);
}
private
void
addListener
()
{
// 为表格模型添加事件监听器
tableModel
.
addTableModelListener
(
new
TableModelListener
()
{
@Override
public
void
tableChanged
(
TableModelEvent
e
)
{
int
type
=
e
.
getType
();
// 获取事件类型
int
row
=
e
.
getFirstRow
()
+
1
;
int
column
=
e
.
getColumn
()
+
1
;
if
(
type
==
TableModelEvent
.
INSERT
)
{
System
.
out
.
println
(
"此次事件由 插入 触发"
);
System
.
out
.
println
(
"此次插入的是第 "
+
row
+
" 行,第 "
+
column
+
" 列"
);
}
else
if
(
type
==
TableModelEvent
.
UPDATE
)
{
System
.
out
.
println
(
"此次事件由 修改 触发"
);
System
.
out
.
println
(
"此次修改的是第 "
+
row
+
" 行,第 "
+
column
+
" 列"
);
}
else
if
(
type
==
TableModelEvent
.
DELETE
)
{
System
.
out
.
println
(
"此次事件由 删除 触发"
);
System
.
out
.
println
(
"此次删除的是第 "
+
row
+
" 行,第 "
+
column
+
" 列"
);
}
else
{
System
.
out
.
println
(
"此次事件由 其他原因 触发"
);
}
}
}
);
// 添加按钮事件
addButton
.
addActionListener
(
new
ActionListener
()
{
@Override
public
void
actionPerformed
(
ActionEvent
e
)
{
String
[]
rowValues
=
{
aTextField
.
getText
(),
bTextField
.
getText
()
};
// 创建表格行数据
tableModel
.
addRow
(
rowValues
);
int
rowCount
=
table
.
getRowCount
()
+
1
;
aTextField
.
setText
(
"A "
+
rowCount
);
bTextField
.
setText
(
"B "
+
rowCount
);
}
}
);
updButton
.
addActionListener
(
new
ActionListener
()
{
@Override
public
void
actionPerformed
(
ActionEvent
e
)
{
int
selectedRow
=
table
.
getSelectedRow
();
if
(
selectedRow
!=
-
1
)
{
tableModel
.
setValueAt
(
aTextField
.
getText
(),
selectedRow
,
0
);
tableModel
.
setValueAt
(
bTextField
.
getText
(),
selectedRow
,
1
);
}
}
}
);
delButton
.
addActionListener
(
new
ActionListener
()
{
@Override
public
void
actionPerformed
(
ActionEvent
e
)
{
int
selectedRow
=
table
.
getSelectedRow
();
if
(
selectedRow
!=
-
1
)
{
tableModel
.
removeRow
(
selectedRow
);
}
}
}
);
}
public
static
void
main
(
String
[]
args
)
{
TableModelTest
frame
=
new
TableModelTest
();
frame
.
setVisible
(
true
);
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录