?? txb.java
字號:
package com.softwarematch.workflow;
/*
*這是一個關于菜單以及事件監聽器的例子
*其中包含了 JMenu JTable JToolBar 等控件的使用
*本例子用的是access,請先建立txb.mdb
*由不足之處請指教:shengshuai@126.com
*/
import java.net.*;
import java.io.*;
import java.sql.*;
import java.util.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.event.*;
import javax.swing.UIManager;
import javax.swing.plaf.metal.MetalLookAndFeel;
import java.util.Vector;
import javax.swing.table.DefaultTableModel;
public class txb {
public txb() {
fsframe Frame1 = new fsframe();
Frame1.validate();
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = Frame1.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
Frame1.setLocation( (screenSize.width - frameSize.width) / 2,
(screenSize.height - frameSize.height) / 2);
Frame1.setDefaultCloseOperation(3);
Frame1.show();
}
public static void main(String[] args) {
try {
UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
}
catch (Exception e) {
e.printStackTrace();
}
new txb();
}
}
class fsframe
extends JFrame
implements ActionListener {
JLabel nemelabel = new JLabel("名字:");
JLabel passlabel = new JLabel("密碼:");
JLabel zhuzhi = new JLabel("家庭住址:");
JButton insertbutton = new JButton("添加");
JButton exitbutton = new JButton("退出");
JTextField namefield = new JTextField("圣帥");
JTextField passfield = new JTextField("7820131");
JTextField addr = new JTextField("東營職業學院學2(410)宿舍");
JTextArea log = new JTextArea(10, 0);
JTextArea input = new JTextArea(4, 0);
JPanel inputpanel = new JPanel();
JPanel buttonpanel = new JPanel();
JScrollPane logscrollpane = new JScrollPane();
JScrollPane inputsrollpane = new JScrollPane();
JMenuBar Bare = new JMenuBar();
JMenu filemenu = new JMenu("文件(F)");
JMenuItem jianjie = new JMenuItem("關于本例");
JMenuItem creattablemenuitem = new JMenuItem("建表");
JMenuItem exitmenuitem = new JMenuItem("退出");
JMenu sqlmenu = new JMenu("SQL");
JMenuItem select = new JMenuItem("查看");
JMenuItem del = new JMenuItem("刪除所有數據");
JMenuItem deltable = new JMenuItem("刪除表");
JMenu about = new JMenu("關于(A)");
JMenuItem aboutme = new JMenuItem("關于作者");
JToolBar toolbar = new JToolBar();
public fsframe() {
setSize(Toolkit.getDefaultToolkit().getScreenSize().width / 2, 380);
this.setResizable(false);
this.getContentPane().setLayout(new BorderLayout());
filemenu.setMnemonic(KeyEvent.VK_F);
sqlmenu.setMnemonic(KeyEvent.VK_S);
about.setMnemonic(KeyEvent.VK_A);
Bare.add(filemenu);
filemenu.add(creattablemenuitem);
filemenu.add(exitmenuitem);
exitmenuitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q,
ActionEvent.CTRL_MASK)); // 快捷鍵
Bare.add(sqlmenu);
sqlmenu.add(select);
select.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,
ActionEvent.CTRL_MASK));
select.addActionListener(this);
sqlmenu.add(del);
del.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D,
ActionEvent.CTRL_MASK));
del.addActionListener(this);
sqlmenu.addSeparator();
sqlmenu.add(deltable);
deltable.addActionListener(this);
Bare.add(about);
//about.add (jianjie);
jianjie.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,
ActionEvent.CTRL_MASK));
about.add(aboutme);
aboutme.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F4,
ActionEvent.ALT_MASK));
this.setJMenuBar(Bare);
//-----menu action --------
exitmenuitem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent exi) {
System.exit(0);
}
});
jianjie.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent jiaj) {
JOptionPane.showMessageDialog(null,
"這是一個關于布局和監聽器的例子本例子的操作都對表user執行請先建立數據庫txb.mdb");
}
});
aboutme.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent jiaj) {
JOptionPane.showMessageDialog(null, "姓名:范圣帥 Email:shengshuai@126.com 網址:http://www.shengshuai.260.cn http://www.myjavaserver.com/~shengshuai");
}
});
creattablemenuitem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent creatt) {
creattablemenuitemframe creattablemenuitem1 = new
creattablemenuitemframe();
creattablemenuitem1.show();
creattablemenuitem1.hide();
}
});
//----end----menu action -//
Container contentpane = getContentPane();
contentpane.setLayout(new BorderLayout());
toolbar.add(jianjie);
//toolbar.add(insertbutton);
contentpane.add(toolbar, BorderLayout.NORTH);
contentpane.add(inputpanel, BorderLayout.CENTER);
inputpanel.setLayout(new GridLayout(3, 2));
inputpanel.add(nemelabel);
inputpanel.add(namefield);
inputpanel.add(passlabel);
inputpanel.add(passfield);
inputpanel.add(zhuzhi);
inputpanel.add(addr);
addr.addActionListener(this);
contentpane.add(buttonpanel, BorderLayout.SOUTH);
buttonpanel.add(insertbutton);
insertbutton.addActionListener(this);
buttonpanel.add(exitbutton);
exitbutton.addActionListener(this);
//-------------button action-------------
}
public void actionPerformed(ActionEvent ae) {
Object source = ae.getSource();
JFrame resultframe = new JFrame();
JScrollPane jScrollPane1 = new JScrollPane();
JTable jTable1 = new JTable();
// --------查詢數據--------------------------------------
if (source == select) {
access ctm = new access();
ResultSet rs = ctm.executeQuery("SELECT * From user");
try {
getContentPane().add(jScrollPane1);
Vector vcol = new Vector(); //列名
Vector vrow = new Vector(); //內容
vcol.addElement("名字");
vcol.addElement("密碼");
vcol.addElement("住址");
while (rs.next()) {
Vector vr1 = new Vector();
vr1.addElement(rs.getString("username"));
vr1.addElement(rs.getString("userpass"));
vr1.addElement(rs.getString("address"));
vrow.addElement(vr1);
}
DefaultTableModel dtm = new DefaultTableModel(vrow, vcol);
jTable1 = new JTable(vrow, vcol);
jTable1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); //滾動條設置左右滾
jScrollPane1.getViewport().add(jTable1, null); //在滾動條中放入表
resultframe.getContentPane().add(jScrollPane1);
resultframe.setSize(400, 400);
resultframe.setLocation(200, 20);
resultframe.show();
}
catch (SQLException sqa) {
System.out.print(sqa);
}
//--------刪除數據----------
}
else if (source == del) {
access ctm = new access();
ctm.executeUpdate("DELETE * FROM USER");
//---------刪除表-----------
}
else if (source == deltable) {
String tablename = JOptionPane.showInputDialog("請輸入要刪除的表名", "user");
access ctm = new access();
ctm.executeUpdate("DROP TABLE " + tablename);
//-------插入數據------------
}
else if (source == insertbutton) {
access ctm = new access();
String name = namefield.getText().trim();
String pass = passfield.getText().trim();
String address = addr.getText().trim();
//System.out.print(name+pass);
ctm.executeUpdate(
"INSERT INTO user (username,userpass,address) VALUES ('" + name +
"','" + pass + "','" + address + "')");
}
else if (source == exitbutton) {
System.exit(0);
}
}
}
class creattablemenuitemframe
extends JFrame {
public creattablemenuitemframe() {
// String tablename = JOptionPane.showInputDialog("請輸入表名", "user");
// access ctm = new access();
// ctm.executeUpdate("CREATE TABLE " + tablename +
// "(username string ,userpass string,address string )");
// hide();
// }
Object[] possibleValues = { "First", "Second", "Third" }; //用戶的選擇項目
// String[] possibleValues = { "First", "Second", "Third" }; //用戶的選擇項目
File file=new File("c:\\");
File list[]=file.listFiles();
for(int i=0;i<list.length;i++)
{
try {
if (list[i].isDirectory()) {
//new ListFiles().listFile(list[i].toString());
}
String aa = list[i].toString();
System.out.println("aa="+aa);
}catch(Exception e){
}
}
Object selectedValue = JOptionPane.showInputDialog(null, "Choose one", "Input",JOptionPane.INFORMATION_MESSAGE, null, possibleValues, possibleValues[0]);
setTitle("您按下了"+(String)selectedValue+"項目");
}
}
class access {
String dbDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String strCon = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=";
Connection con = null;
ResultSet rs = null;
Statement stmt = null;
public access() {
try {
Class.forName(dbDriver);
}
catch (java.lang.ClassNotFoundException e) {
System.err.println("數據庫驅動程序加載失敗,異常為:" + e.getMessage());
}
finally {
System.out.println("驅動程序加載成功");
}
}
public ResultSet executeQuery(String strSQL) {
rs = null;
try {
con = DriverManager.getConnection(strCon + "txb.mdb");
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(strSQL);
}
catch (SQLException ex) {
JOptionPane.showMessageDialog(null,
"executeQuery在執行" + strSQL + "失敗了,異常為: " +
ex.getMessage());
}
finally {
System.out.println("executeQuery--數據庫連接成功");
}
return rs;
}
public void executeUpdate(String strSQL) {
try {
con = DriverManager.getConnection(strCon + "txb.mdb");
stmt = con.createStatement();
stmt.executeUpdate(strSQL);
}
catch (SQLException ex) {
JOptionPane.showMessageDialog(null,
"executeUpdate在執行" + strSQL + "失敗了,異常為: " +
ex.getMessage());
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -