📄 presssetup.java
字号:
//出版社设置
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.sql.*;
import java.io.*;
import java.util.*;
public class PressSetup extends JFrame implements ActionListener,ListSelectionListener
{ public JToolBar JTB;
public JButton btn1,btn2,btn3,btn4,btn40,btn41,btn5,btn6;
public JPanel jp1;
public JLabel lb1,lb2;
public JTextField jtf1,jtf2;
public JTable jta;
public ListSelectionModel selectionMode=null;
public String tempString,j;
public JScrollPane scrollPane;
public Statement stmt,stmt1,stmt2;
public Connection con,con1,con2;
public JFrame frame;
public Object rowData[][];
public PressSetup()
{
JFrame.setDefaultLookAndFeelDecorated(true);
frame=new JFrame("出版社设置");
ImageIcon icon=new ImageIcon("images/home.gif");
frame.setIconImage(icon.getImage());
frame.setResizable(false);
Font font1=new Font("宋体",Font.PLAIN,15);
Container content=frame.getContentPane();
content.setLayout(null);
//--初始化工具栏各个组件--
btn1=new JButton(new ImageIcon("images/addus.gif"));
btn2=new JButton(new ImageIcon("images/gai.gif"));
btn3=new JButton(new ImageIcon("images/delete1.gif"));
btn4=new JButton(new ImageIcon("images/save2.gif"));
btn40=new JButton(new ImageIcon("images/save2.gif"));
btn41=new JButton(new ImageIcon("images/save2.gif"));
btn5=new JButton(new ImageIcon("images/cancel.gif"));
btn6=new JButton(new ImageIcon("images/exit.gif"));
//--设置工具栏各个组件的提示--
btn1.setToolTipText("添加出版社");
btn2.setToolTipText("更新出版社");
btn3.setToolTipText("删除出版社");
btn4.setToolTipText("保存设置");
btn40.setToolTipText("保存设置");
btn41.setToolTipText("保存设置");
btn5.setToolTipText("取消设置");
btn6.setToolTipText("退出");
//--为工具栏中各个组件添加事件--
btn1.addActionListener(this);
btn2.addActionListener(this);
btn3.addActionListener(this);
btn4.addActionListener(this);
btn40.addActionListener(this);
btn41.addActionListener(this);
btn5.addActionListener(this);
btn6.addActionListener(this);
//--添加工具栏各个组件--
JTB=new JToolBar();
JTB.addSeparator();
JTB.addSeparator();
JTB.add(btn1);
JTB.add(btn2);
JTB.add(btn3);
JTB.addSeparator();
JTB.add(btn4);
JTB.add(btn40);
JTB.add(btn41);
JTB.add(btn5);
JTB.addSeparator();
JTB.add(btn6);
JTB.setFont(font1);
JTB.setFloatable(false);
JTB.setBorder(BorderFactory.createLoweredBevelBorder());
JTB.setBounds(0,2,493,35);
//--初始化基本设置各个组件--
lb1=new JLabel("出版社名称:");
lb2=new JLabel("出版社编号:");
jtf1=new JTextField();
jtf2=new JTextField();
Object columnNames[]={"编号","出版社名称"};
rowData=new Object[30][2];
jta=new JTable(rowData,columnNames);
jta.setRowHeight(20);
jta.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);
jta.setCellSelectionEnabled(true);//使得表格的选取是以cell为单位,而不是以列为单位.若你没有写此行,则在选取表格数
//据时以整列为单位.
selectionMode=jta.getSelectionModel();//取得table的ListSelectionModel.
selectionMode.addListSelectionListener(this);
try{ view();}
catch(SQLException ed){}
jta.setPreferredScrollableViewportSize(new Dimension(500,30));
scrollPane=new JScrollPane(jta,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
TableColumn column=null;
column=jta.getColumnModel().getColumn(0);
column.setPreferredWidth(50);
//--设置各个组件的大小和位置--
lb2.setBounds(30,30,90,25);
jtf2.setBounds(120,30,110,25);
lb1.setBounds(245,30,90,25);
jtf1.setBounds(330,30,110,25);
scrollPane.setBounds(10,65,460,260);
//--设置各个组件的字体--
lb1.setFont(font1);
lb2.setFont(font1);
jtf1.setFont(font1);
jtf2.setFont(font1);
scrollPane.setFont(font1);
//--设置工具栏各个组件的是否可用--
btn40.setVisible(false);
btn41.setVisible(false);
btn4.setVisible(true);
btn4.setEnabled(false);
btn5.setEnabled(false);
jtf1.setEnabled(false);
jtf2.setEnabled(false);
//--将各个组件添加到容器中--
jp1=new JPanel();
jp1.setLayout(null);
jp1.add(lb1);
jp1.add(lb2);
jp1.add(jtf1);
jp1.add(jtf2);
jp1.add(scrollPane);
jp1.setBorder(BorderFactory.createTitledBorder("基本设置"));
jp1.setBounds(7,40,480,335);
//--把各个组件添加到窗口中--
content.add(JTB);
content.add(jp1);
frame.setSize(500,410);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{ Object obj=e.getSource();
if(obj==btn6)//退出按钮
{int m=JOptionPane.showConfirmDialog(this, "您确定要放弃设置出版社吗?", "确认对话框",JOptionPane.YES_NO_OPTION);
if(m==JOptionPane.YES_OPTION)
{frame.dispose();}
}
if(obj==btn5)//取消按钮
{ jtf1.setText("");
}
if(obj==btn4)//保存按钮
{try{ Add();}
catch(SQLException ed){}
}
if(obj==btn40)//保存按钮
{
try{ Update();}
catch(SQLException es){}
}
if(obj==btn41)//保存按钮
{try{ Delete();}
catch(SQLException es){}
}
if(obj==btn1)//添加按钮
{
btn4.setVisible(true);
btn40.setVisible(false);
btn41.setVisible(false);
btn4.setEnabled(true);
btn5.setEnabled(true);
btn1.setEnabled(false);
btn2.setEnabled(false);
btn3.setEnabled(false);
jtf1.setEnabled(true);
jtf2.setEnabled(true);
jta.setEnabled(true);
}
if(obj==btn2)//更新按钮
{
btn4.setVisible(false);
btn41.setVisible(false);
btn40.setVisible(true);
btn40.setEnabled(true);
btn5.setEnabled(true);
btn1.setEnabled(false);
btn2.setEnabled(false);
btn3.setEnabled(false);
jtf1.setEnabled(true);
jta.setEnabled(true);
}
if(obj==btn3)//删除按钮
{
btn4.setVisible(false);
btn41.setVisible(true);
btn40.setVisible(false);
btn41.setEnabled(true);
btn5.setEnabled(true);
btn1.setEnabled(false);
btn2.setEnabled(false);
btn3.setEnabled(false);
jtf1.setEnabled(true);
jtf2.setEnabled(true);
jta.setEnabled(true);
}
}
public void valueChanged(ListSelectionEvent el){
tempString="";
//JTable的getSelectedRows()与getSelectedColumns()方法会返回已选取表格cell的index Array数据.
int[] rows=jta.getSelectedRows();
int[] columns=jta.getSelectedColumns();
//JTable的getValueAt()方法会返回某行的cell数据,返回值是Object数据类型,因此我们要自行转成String数据类型.
for (int i=0;i<rows.length;i++){
for (int j=0;j<columns.length;j++)
tempString = tempString+(String)jta.getValueAt(rows[i], columns[j]);
}
jtf1.setText(tempString);
jtf2.setText(tempString);
try{ Update1();}
catch(SQLException ed){}
}
public void Add() throws SQLException
{
String strurl=
"jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=DataBase/Library.mdb";
try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch (ClassNotFoundException eg) {}
con= DriverManager.getConnection(strurl);
stmt= con.createStatement();
ResultSet rs = stmt.executeQuery("select * from 出版设置 where 编号='" + jtf2.getText().trim()+ "'OR 名称='"+jtf1.getText().trim()+"'");
if(rs.next())
{JOptionPane.showMessageDialog(null, "此类型名称或编号已经被添加,请您重新输入!", "警告",JOptionPane.WARNING_MESSAGE);
jtf1.setText("");
jtf2.setText("");
}
else
{ stmt.executeUpdate("INSERT INTO 出版设置(编号,名称) values ('"+jtf2.getText()+"','"+jtf1.getText()+"')");
JOptionPane.showMessageDialog(null, "恭喜您添加出版社成功!");
try{ setnull();}
catch(SQLException ed){}
try{ view();}
catch(SQLException ed){}
btn40.setVisible(false);
btn41.setVisible(false);
btn4.setVisible(true);
btn4.setEnabled(false);
btn5.setEnabled(false);
btn1.setEnabled(true);
btn2.setEnabled(true);
btn3.setEnabled(true);
jtf1.setEnabled(false);
jtf2.setEnabled(false);
jta.setEnabled(true);
}
}
public void Update() throws SQLException
{
String strurl=
"jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=DataBase/Library.mdb";
try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch (ClassNotFoundException eg) {}
con= DriverManager.getConnection(strurl);
stmt= con.createStatement();
ResultSet rs = stmt.executeQuery("select * from 出版设置 where 名称='" + jtf1.getText().trim()+ "'");
if(rs.next())
{
JOptionPane.showMessageDialog(null, "此出版社名称已经被添加,请您重新输入!", "警告",JOptionPane.WARNING_MESSAGE);
jtf1.setText("");
}
else
{ stmt.executeUpdate("update 出版设置 set 名称='"+jtf1.getText().trim()+"'where 编号='" + jtf2.getText().trim() + "'");
JOptionPane.showMessageDialog(null, "恭喜您更新出版社成功!");
try{ setnull();}
catch(SQLException ed){}
try{ view();}
catch(SQLException ed){}
btn40.setVisible(false);
btn41.setVisible(false);
btn4.setVisible(true);
btn4.setEnabled(false);
btn5.setEnabled(false);
btn1.setEnabled(true);
btn2.setEnabled(true);
btn3.setEnabled(true);
jtf1.setEnabled(false);
jtf2.setEnabled(false);
jta.setEnabled(true);
}
}
public void Update1() throws SQLException
{ String bianhao,typename;
String strurl=
"jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=DataBase/Library.mdb";
try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch (ClassNotFoundException eg) {}
con= DriverManager.getConnection(strurl);
stmt= con.createStatement();
ResultSet rs = stmt.executeQuery("select * from 出版设置");
while(rs.next())
{bianhao=rs.getString("编号");typename=rs.getString("名称");
if(typename.equals(jtf2.getText().trim())||bianhao.equals(jtf1.getText().trim()))
{
jtf2.setText(bianhao);
jtf1.setText(typename);
}
}
}
public void Delete() throws SQLException
{
String strurl=
"jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=DataBase/Library.mdb";
try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch (ClassNotFoundException eg) {}
con= DriverManager.getConnection(strurl);
stmt= con.createStatement();
ResultSet rs = stmt.executeQuery("select * from 出版设置 where 名称='" + jtf1.getText().trim()+ "'");
if(rs.next())
{
if(JOptionPane.showConfirmDialog(this, "确实要删除该出版社的所有信息吗?\n删除的信息将不能恢复,是否继续?",
"删除确定", JOptionPane.OK_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE) == 0);
{ stmt.executeUpdate("delete * from 出版设置 where 编号='"+jtf2.getText().trim()+"' OR 名称='"+jtf1.getText().trim()+"'");
JOptionPane.showMessageDialog(null, "出版社信息删除成功!");
try{ setnull();}
catch(SQLException ed){}
try{ view();}
catch(SQLException ed){}
btn40.setVisible(false);
btn41.setVisible(false);
btn4.setVisible(true);
btn4.setEnabled(false);
btn5.setEnabled(false);
btn1.setEnabled(true);
btn2.setEnabled(true);
btn3.setEnabled(true);
jtf1.setEnabled(false);
jtf2.setEnabled(false);
jta.setEnabled(true);
}
}
else
{ JOptionPane.showMessageDialog(null, "此出版社名称不存在,请确认后再删除!", "警告",JOptionPane.WARNING_MESSAGE);
jtf1.setText("");
jtf2.setText("");
}
}
/////////////////////设置出版社信息表格为空///////////////////////////////////////////////////////////////////
public void setnull() throws SQLException
{int i=0;
try{
String strurl =
"jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=DataBase/Library.mdb";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con= DriverManager.getConnection(strurl);
stmt = con.createStatement();
ResultSet rs=stmt.executeQuery("SELECT * From 出版设置");
while(rs.next())
{
rowData[i][0]=null;rowData[i][1]=null;
i++;
validate();
}
rowData[i][0]=null;rowData[i][1]=null;
jta.repaint();
}
catch(Exception g)
{g.printStackTrace();}
}
public void view() throws SQLException
{ //--连接表格和数据库--
int i=0;
try{
String strurl1 =
"jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=DataBase/Library.mdb";
try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch (ClassNotFoundException eg) {}
con1= DriverManager.getConnection(strurl1);
stmt1= con1.createStatement();
ResultSet rs1 = stmt1.executeQuery("select * from 出版设置 ORDER BY 编号");
while(rs1.next())
{String bianhao=rs1.getString(1);
String typename=rs1.getString(2);
rowData[i][0]=bianhao;
rowData[i][1]=typename;
i++;
}
jta.repaint();
con1.close();
}
catch(Exception es){//JOptionPane.showMessageDialog(null, "数据库中没有成绩信息", "警告",
//JOptionPane.WARNING_MESSAGE);
es.printStackTrace();}
}
public static void main(String[]args)
{ try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
}
catch(Exception e) {
e.printStackTrace();
}
new PressSetup();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -