⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mydatebase.java

📁 JAVA的小程序
💻 JAVA
字号:
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("数据库装载失败: " + 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("学号:");
    	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 = {"全部", "计算机", "电子", "数学", "自动化"};
    	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("确认");
	    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("显示结果 !");
		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);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -