📄 projectrecordtable.java
字号:
/**************************************************
*文件名: ProjectRecordTable.java
*功能: 项目记录管理子系统
***************************************************/
import java.io.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.border.*;
import javax.swing.table.*;
import java.sql.*;
class ProjectRecordTable extends JFrame {
public ProjectRecordTable(conDB conapp) {
this.conIns = conapp;
setTitle("项目记录");
setSize(700,500);
setResizable(false);
setLocation(150,50);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
}
});
openDB();
createRecordGUI();
loadData();
}
private void createRecordGUI() {
int r=(int)(Math.random()*155);
int g=(int)(Math.random()*155);
int b=(int)(Math.random()*155);
//面板panelLabel设置
panelLabel.setLayout(new GridLayout( labels.length, 1));
//加载标签
for ( int i = 0; i < labels.length; i++ )
panelLabel.add(new JLabel(labels[i], 0) );
//面板panelText设置
panelText.setLayout(new GridLayout(labels.length, 1));
try{
ResultSetMetaData rsmd =conIns.rs.getMetaData();
for(int i =1; i<=rsmd.getColumnCount(); i++)
{
//文本框属性设置
JTextField txtField = new JTextField(20);
txtField.setEditable(false);
txtField.setForeground(new Color(r,g,b));
txtField.setBackground(new Color(240,255,240));
fields.add(txtField);
panelText.add(txtField);
}
}catch (Exception e) {
System.out.print("Error in load TextField." +e);
System.exit(1);
}
//面板panel_label_text设置
panel_label_text.setLayout(new GridLayout(1,2));
panel_label_text.add(panelLabel);
panel_label_text.add(panelText);
//面板panelButtonGroup1设置
panelButtonGroup1.setLayout(new GridLayout(1,4));
setButtonGroup1();
panelButtonGroup1.add(button_first);
panelButtonGroup1.add(button_previous);
panelButtonGroup1.add(button_next);
panelButtonGroup1.add(button_last);
//面板panelButtonGroup2设置
panelButtonGroup2.setLayout(new GridLayout(1,6));
setButtonGroup2();
panelButtonGroup2.add(button_insert);
panelButtonGroup2.add(button_update);
panelButtonGroup2.add(button_delete);
panelButtonGroup2.add(button_commite);
panelButtonGroup2.add(button_cancel);
panelButtonGroup2.add(button_quit);
//面板panel_buttongroup1_label_text_buttongruop2设置
panel_buttongroup1_label_text_buttongruop2.setLayout(new BorderLayout());
panel_buttongroup1_label_text_buttongruop2.add(panelButtonGroup1,"North");
panel_buttongroup1_label_text_buttongruop2.add(panel_label_text,"Center");
panel_buttongroup1_label_text_buttongruop2.add(panelButtonGroup2,"South");
Border operEtched=BorderFactory.createEtchedBorder();
Border operTitled=BorderFactory.createTitledBorder
(operEtched,"数据库操作显示",TitledBorder.CENTER,
TitledBorder.TOP,new Font("SansSerif",Font.BOLD,20),
Color.red);
panel_buttongroup1_label_text_buttongruop2.setBorder(operTitled);
//面板panelQuery设置
panelQuery.setLayout(new GridLayout(1,3));
button_que.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
dataQuery();
}
});
panelQuery.add(label_que);
panelQuery.add(txtFieldQue);
panelQuery.add(button_que);
//表格设置
//建立表格
table_que = new JTable(tm);
table_que.setToolTipText("显示全部查询结果");
table_que.setCellSelectionEnabled(false);
table_que.setShowVerticalLines(true);
table_que.setShowHorizontalLines(true);
//table_que.setEnabled(false);
//建立scroll Pane
panelScroll = new JScrollPane(table_que);
//面板panelTable设置
panelTable.setLayout(new BorderLayout());
panelTable.add(panelScroll,"Center");
Border queryEtched=BorderFactory.createEtchedBorder();
Border queryTitled=BorderFactory.createTitledBorder
(queryEtched,"数据库查询显示",TitledBorder.CENTER,
TitledBorder.TOP,new Font("SansSerif",Font.BOLD,20),
Color.red);
panelQuery.setBorder(queryTitled);
//组成整体布局
contentPane = getContentPane();
contentPane.setLayout(new BorderLayout());
contentPane.add(panelQuery,"North");
contentPane.add(panelTable, "Center");
contentPane.add(panel_buttongroup1_label_text_buttongruop2,"South");
}
private void setButtonGroup1() {
button_first.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
showfirst();
}
});
button_previous.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
showprevious();
}
});
button_next.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
shownext();
}
});
button_last.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
showlast();
}
});
}
private void setButtonGroup2() {
button_insert.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
insertData();
}
});
button_update.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
updateData();
}
});
button_delete.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
deleteData();
}
});
button_commite.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
commitData();
}
});
button_cancel.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
cancelData();
}
});
button_quit.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
dispose();
}
});
}
private void showfirst() {
try {
conIns.rs.first();
loadData();
enableButton();
}catch (Exception e) {
System.out.print("Error in showfirst." +e);
System.exit(1);
}
}
private void showprevious() {
try {
conIns.rs.previous();
loadData();
enableButton();
}catch (Exception e) {
System.out.print("Error in showprevious." +e);
System.exit(1);
}
}
private void shownext() {
try {
conIns.rs.next();
loadData();
enableButton();
}catch (Exception e) {
System.out.print("Error in shownext." +e);
System.exit(1);
}
}
private void showlast() {
try {
conIns.rs.last();
loadData();
enableButton();
}catch (Exception e) {
System.out.print("Error in showlast." +e);
System.exit(1);
}
}
private void insertData() {
isInsert = true;
panelButtonGroup1.setVisible(false);
button_insert.setEnabled(false);
button_update.setEnabled(false);
button_delete.setEnabled(false);
button_commite.setEnabled(true);
button_cancel.setEnabled(true);
for(int i=1; i<=fields.size(); i++){
JTextField txtField = (JTextField) fields.get(i-1);
txtField.setText("");
txtField.setEditable(true);
txtField.setBackground(Color.white);
}
try{
conIns.rs.moveToInsertRow();
}catch(Exception e){
System.out.print("Error in insert Data." +e);
System.exit(1);
}
}
private void updateData(){
panelButtonGroup1.setVisible(false);
button_insert.setEnabled(false);
button_update.setEnabled(false);
button_delete.setEnabled(false);
button_commite.setEnabled(true);
button_cancel.setEnabled(true);
for(int i=1; i<=fields.size(); i++){
JTextField txtField = (JTextField) fields.get(i-1);
txtField.setEditable(true);
txtField.setBackground(Color.white);
}
try{
conIns.rs.moveToCurrentRow();
}catch(Exception e){
System.out.print("Error in update Data." +e);
System.exit(1);
}
}
private void commitData(){
try{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -