?? mydatebase.java
字號(hào):
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;
import java.sql.*;
import javax.swing.table.*;
import javax.swing.border.*;
class MyFrame extends JFrame {
JPanel contentPane, northPanel, basicPanel, sqlPanel, radioPanel, southPanel, eastPanel;
JTextField tfxh, tfxm;
JTextArea jtasql;
JComboBox cbxb;
ButtonGroup myButtonGroup;
JRadioButton jball, jbman, jbwomen;
JButton jbsql, jbok, jbadd, jbdelete;
JTable table;
DataModel dm;
public MyFrame() {
setTitle("JDBC 綜合示范程序");
setSize(800, 400);
setLocation(100,100);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(Exception s) {
System.out.println("數(shù)據(jù)庫裝載失敗: " + s.toString());
}
PanelInit();
TableInit();
}
public void PanelInit() {
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(new BorderLayout());
northPanel = new JPanel();
northPanel.setLayout(new GridLayout(2, 1));
contentPane.add(northPanel, "North");
basicPanel = new JPanel();
basicPanel.setLayout(new FlowLayout());
northPanel.add(basicPanel);
sqlPanel = new JPanel();
sqlPanel.setLayout(new FlowLayout());
northPanel.add(sqlPanel);
southPanel = new JPanel();
southPanel.setLayout(new FlowLayout());
contentPane.add(southPanel, "South");
eastPanel = new JPanel();
eastPanel.setLayout(new GridLayout(4, 1));
contentPane.add(eastPanel, "East");
JLabel lbxh = new JLabel("學(xué)號(hào):");
lbxh.setFont(new Font("TimesRoman", Font.PLAIN, 12));
tfxh = new JTextField(10);
tfxh.addActionListener(new DemoActionListener());
basicPanel.add(lbxh);
basicPanel.add(tfxh);
JLabel lbxm = new JLabel("姓名:");
lbxm.setFont(new Font("TimesRoman", Font.PLAIN, 12));
tfxm = new JTextField(8);
tfxm.addActionListener(new DemoActionListener());
basicPanel.add(lbxm);
basicPanel.add(tfxm);
JLabel lbxb = new JLabel("系別:");
lbxb.setFont(new Font("TimesRoman", Font.PLAIN, 12));
String[] xbstr = {"全部", "計(jì)算機(jī)", "電子", "數(shù)學(xué)", "自動(dòng)化"};
cbxb = new JComboBox(xbstr);
cbxb.setFont(new Font("TimesRoman", Font.PLAIN, 12));
cbxb.setBackground(Color.white);
cbxb.addActionListener(new DemoActionListener());
basicPanel.add(lbxb);
basicPanel.add(cbxb);
Border border = BorderFactory.createEtchedBorder();
Border title = BorderFactory.createTitledBorder(border, " 性別 ");
JPanel radioPanel = new JPanel();
radioPanel.setBorder(title);
basicPanel.add(radioPanel);
myButtonGroup = new ButtonGroup();
jball = new JRadioButton("全部", true);
jball.setFont(new Font("TimesRoman", Font.PLAIN, 12));
jball.addActionListener(new DemoActionListener());
myButtonGroup.add(jball);
radioPanel.add(jball);
jbman = new JRadioButton("男", true);
jbman.setFont(new Font("TimesRoman", Font.PLAIN, 12));
jbman.addActionListener(new DemoActionListener());
myButtonGroup.add(jbman);
radioPanel.add(jbman);
jbwomen = new JRadioButton("女", true);
jbwomen.setFont(new Font("TimesRoman", Font.PLAIN, 12));
jbwomen.addActionListener(new DemoActionListener());
myButtonGroup.add(jbwomen);
radioPanel.add(jbwomen);
JLabel lbsql = new JLabel("SQL 綜合查詢:");
lbsql.setFont(new Font("TimesRoman", Font.PLAIN, 12));
jtasql = new JTextArea(3, 34);
jbsql = new JButton("開始查詢");
jbsql.setFont(new Font("TimesRoman", Font.PLAIN, 12));
jbsql.addActionListener(new DemoActionListener());
sqlPanel.add(lbsql);
sqlPanel.add(new JScrollPane(jtasql));
sqlPanel.add(jbsql);
jbok = new JButton("確認(rèn)");
jbok.setFont(new Font("TimesRoman", Font.PLAIN, 12));
jbok.addActionListener(new DemoActionListener());
southPanel.add(jbok);
jbadd = new JButton("增加");
jbadd.setFont(new Font("TimesRoman", Font.PLAIN, 12));
jbadd.addActionListener(new DemoActionListener());
eastPanel.add(jbadd);
jbdelete = new JButton("刪除");
jbdelete.setFont(new Font("TimesRoman", Font.PLAIN, 12));
jbdelete.addActionListener(new DemoActionListener());
eastPanel.add(jbdelete);
pack();
}
public void TableInit() {
dm = new DataModel();
table = new JTable(dm);
table.setToolTipText("顯示結(jié)果 !");
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
// table.setCellSelectionEnabled(false);
table.setShowVerticalLines(true);
table.setShowHorizontalLines(true);
TableColumn column = null;
int cols = dm.getColumnCount();
for(int i = 0; i < cols; i ++) {
column = table.getColumnModel().getColumn(i);
if(i == 2 || i == 3) column.setPreferredWidth(50);
}
contentPane.add(new JScrollPane(table), "Center");
}
private class DemoActionListener implements ActionListener {
public void actionPerformed(ActionEvent ae) {
String sql, vs = "", fs = "";
Object source = ae.getSource();
if(source.equals(tfxm)) {
JTextField tf = (JTextField) source;
vs = (tf.getText()).trim();
fs = "name";
}
if(source.equals(tfxh)) {
JTextField tf = (JTextField) source;
vs = (tf.getText()).trim();
fs = "id";
}
if(source.equals(cbxb)) {
JComboBox cb = (JComboBox) source;
vs = ((String)(cb.getSelectedItem())).trim();
if(vs == "全部") vs = "";
fs = "department";
}
if(source.equals(jball)) {
vs = "";
fs = "";
}
if(source.equals(jbman)) {
vs = "男";
fs = "sex";
}
if(source.equals(jbwomen)) {
vs = "女";
fs = "sex";
}
if(source.equals(jbsql)) {
sql = ((String)jtasql.getText()).trim();
if(sql.length() > 0) {
dm.updateVector(sql);
table.repaint();
}
return;
}
if(vs.length() == 0) sql = "SELECT * FROM student";
else sql = "SELECT * FROM student WHERE " + fs + " = '" + vs + "'";
dm.updateVector(sql);
table.repaint();
}
}
}
public class JdbcDemo
{
public static void main(String[] args)
{
JFrame frame = new MyFrame();
frame.setVisible(true);
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -