分享

JComboBox中放入访问数据库所得内容

 xrobinson 2014-11-06

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Vector;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;

import DBbean.DBcon;

public class ListPanel

 extends JPanel implements ActionListener{
 
 
 public static void main(String args[]){
  JFrame aframe = new JFrame();
  aframe.add(new ListPanel());
  aframe.setSize(1000,300);
  aframe.setVisible(true);
 }
 DBcon db;//下面会给出
 String section;
 JPanel p_north;
 JPanel p_center = new JPanel();
 JComboBox combo;
 JLabel l_section = new JLabel("按区域浏览:     ");
 
 JButton btn_hign = new JButton("高级查询");
 ComboBoxModel model;
 Vector<String> list;
 public ListPanel(){
  this.setBackground(Color.lightGray);
  
  FlowLayout flow = new FlowLayout(5);
  flow.setHgap(40);
  flow.setAlignment(FlowLayout.CENTER);
  p_north = new JPanel(flow);
  p_north.setOpaque(false);
  this.setLayout(new BorderLayout());
  this.add(p_north,BorderLayout.NORTH);
  this.add(p_center,BorderLayout.CENTER);
  
  db = new DBcon();
  list = new Vector<String>();
  this.fillComboBox();
  model = new DefaultComboBoxModel();
  combo = new JComboBox(list);
  p_north.add(l_section);
  p_north.add(combo);
  combo.addActionListener(this);
  p_north.add(btn_hign);
  
  
  
  
 }
 public ListPanel(String section){
  this.setBackground(Color.lightGray);
  
  FlowLayout flow = new FlowLayout(5);
  flow.setHgap(40);
  flow.setAlignment(FlowLayout.CENTER);
  p_north = new JPanel(flow);
  p_north.setOpaque(false);
  this.setLayout(new BorderLayout());
  this.add(p_north,BorderLayout.NORTH);
  this.add(p_center,BorderLayout.CENTER);
  
  db = new DBcon();
  list = new Vector<String>();
  this.fillComboBox();
  model = new DefaultComboBoxModel();
  combo = new JComboBox(list);
  p_north.add(l_section);
  p_north.add(combo);
  combo.addActionListener(this);
  p_north.add(btn_hign);
  combo.setSelectedItem(section);
  getBuildings(section);
  
  
 }
 
 public void fillComboBox(){
  
  String sql = "select * from section";
  ResultSet re;
  try {
   re = db.executeQuery(sql);
   
   while(re.next()){
    list.add(re.getString("name"));
   }
   
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
 public void actionPerformed(ActionEvent arg0) {
  section = combo.getSelectedItem().toString();
  getBuildings(section);
  
 }
 public void getBuildings(String section){
  JFrame aframe = new JFrame();
  JScrollPane jsp = new JScrollPane();
  Table.BuildingTable bt = new Table.BuildingTable(section);
  bt.table.setPreferredSize(new Dimension(800,600));
  jsp.setViewportView(bt.table);
  jsp.setPreferredSize(new Dimension(1200,600));
  this.p_center.removeAll();
  this.p_center.add(jsp,BorderLayout.CENTER);
  this.updateUI();
 }
}

 

 

 


import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;

public class DBcon {


  Connection conn = null;
  Statement stmt = null;
  public ResultSet rs = null;
  public DBcon() {

         try {
             Class.forName("com.mysql.jdbc.Driver");
         } catch (java.lang.ClassNotFoundException e) {
             System.err.println(e.getMessage());
         }
     }

  public ResultSet executeQuery(String sql) throws SQLException {
                if(conn==null)
         conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/housemanagement?useUnicode=true&characterEncoding=utf-8", "root", "root");

            stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
         rs = stmt.executeQuery(sql);

         return rs;
  }

  public int executeUpdate(final String SQL) throws Exception{
    
             int state = 0;
             if(conn==null)
             conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/housemanagement?useUnicode=true&characterEncoding=utf-8", "root", "rootf");
             stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
             state = stmt.executeUpdate(SQL);
             return state;
       
     }

     public ResultSet executeUpdate(final String sql, int[] index) throws SQLException {
       if(conn==null)
         conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/housemanagement?useUnicode=true&characterEncoding=utf-8", "root", "root");
         stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
         stmt.executeUpdate(sql, index);

         ResultSet rs = stmt.getGeneratedKeys();
         return rs;
     }
     public boolean isClosed(){
      if(conn==null)
       return true;
      else
       return false;
     }
  public void close() {
    
         try {
             if (stmt != null) {
                 stmt.close();
             }
         } catch (Exception e) {
             e.printStackTrace(System.err);
         }

         try {
             if (conn != null) {
                 conn.close();
             }
         } catch (Exception e) {
             e.printStackTrace(System.err);
         }
     }
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多