那个为高手帮忙写一个JList读取数据库的一个字段把里面的内容它在JList循环显示出来。

解决方案 »

  1.   

    这个很简单啊,只要得到结果集合,add近JList控件就可以啦
      

  2.   

    while(rs.next()){
      list.add(rs.getString(1));
    }
      

  3.   

    问下,jlist跟list有什么区别啊?
      

  4.   

    主要就是这个,前边在加上连接数据库的代码,查api看jlist
      

  5.   

    while(rs.next()){ 
      System.out.println(rs.getString(1));
      

  6.   

    JList rsList = new JList(rs);
    for(int i = 0; i < rsList.getModel().getSize(); i++) {
        System.out.println(rsList.getModel().getElementAt(i));
    }
      

  7.   

    JList rsList = new JList(rs);   //rs 结果集
    for(int i = 0; i < rsList.getModel().getSize(); i++) { 
        System.out.println(rsList.getModel().getElementAt(i)); 

      

  8.   

    JList rsList = new JList(rs); 
    for(int i = 0; i < rsList.getModel().getSize(); i++) { 
        System.out.println(rsList.getModel().getElementAt(i)); 

      

  9.   

    是从数据库里面读取内容放到JList中但是在 LIST.add(rs.getString(2));的时候有问题
      

  10.   

    谁有空帮忙写一个比较完整的出来! 数据库名 data      字段名 姓名 varchar(50);     把字段姓名全部显示在JLIST里面?
      

  11.   

    现写一个:
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.util.ArrayList;
    import java.util.List;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JList;
    import javax.swing.JScrollPane;public class JListShow extends JFrame {  private JList list;
      private String Driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
      private String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=testing";
      private String user = "sa";
      private String password = "sa";
      private Connection con = null;
      private PreparedStatement pstmt = null;
      private ResultSet rs = null;  /**
       * Launch the application
       * @param args
       */
      public static void main(String args[]) {
        try {
          JListShow frame = new JListShow();
          frame.setVisible(true);
        } catch (Exception e) {
          e.printStackTrace();
        }
      }  /**
       * Create the frame
       */
      public JListShow() {
        super();
        getContentPane().setLayout(null);
        setBounds(100, 100, 500, 375);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    list = new JList(getResult().toArray());
        list.setBounds(0, 0, 100, 20);
        getContentPane().add(list);
        
        // JList 不支持直接滚动,要创建滚动列表,需要让 JList 作为 JScrollPane 的视口视图
        final JScrollPane scrollPane = new JScrollPane();
        scrollPane.setBounds(0, 67, 264, 100);
        getContentPane().add(scrollPane);
        scrollPane.setViewportView(list);    final JLabel label = new JLabel();
        label.setText("JList Show:");
        label.setBounds(-1, 32, 265, 34);
        getContentPane().add(label);
      }
      
      public List<String> getResult() {
        List<String> nameList = new ArrayList<String>();
        try {
          Class.forName(Driver);// 加载数据库驱动
          con = DriverManager.getConnection(url, user, password);// 连接数据库
          String sql = "select * from test"; // test为表的名字
          pstmt = con
              .prepareStatement(sql, ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
          rs = pstmt.executeQuery();
          while (rs.next()) {
            String name = rs.getString(1);
            nameList.add(name);
          }
        } catch (Exception ex) {
          ex.printStackTrace();
        }
        return nameList;
      }
    }
      

  12.   

    package com.topking.demo.ui;import java.awt.BorderLayout;
    import java.awt.Container;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;import javax.swing.DefaultListModel;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JList;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;import com.topking.demo.connection.ConnectionUtil;public class JListDemo extends JFrame implements ActionListener{ /**
     * @param args
     */

    private JButton bt_read = null;
    private JButton bt_clear = null;
    private JList list_result = null;
    private JScrollPane scroll = null;

    public JListDemo(){
    super("JList Demo");
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    initComponent();
    this.setExtendedState(JFrame.MAXIMIZED_BOTH);//设置初始化为窗口最大化
    }

    public void initComponent(){
    bt_read = new JButton("Read");//从数据库中读数据
    bt_clear = new JButton("Clear");//清除JList中的元素

    bt_read.addActionListener(this);
    bt_clear.addActionListener(this);

    list_result =  new JList();
    list_result.setModel(new DefaultListModel());//设置JList的model

    scroll = new JScrollPane();

    scroll.add(list_result);
    scroll.setViewportView(list_result);//添加滚动条

    Container c = this.getContentPane();
    c.setLayout(new BorderLayout());

    c.add(scroll,BorderLayout.CENTER);

    JPanel panel_button = new JPanel();

    panel_button.add(bt_read);
    panel_button.add(bt_clear);

    c.add(panel_button,BorderLayout.SOUTH);
    }

    @Override
    public void actionPerformed(ActionEvent e) {
    // TODO Auto-generated method stub
    if(e.getSource()==bt_read){
    Connection conn = ConnectionUtil.getConnection();
    String sql = "select * from tb_user";
    DefaultListModel model = (DefaultListModel) list_result.getModel();
    try {
    ResultSet rs = conn.createStatement().executeQuery(sql);
    while(rs.next()){
    model.addElement(rs.getString(1));
    }
    rs.close();
    conn.close();
    conn = null;
    list_result.updateUI();
    repaint();
    } catch (SQLException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
    }
    }

    if(e.getSource()==bt_clear){
    DefaultListModel model = (DefaultListModel) list_result.getModel();
    int count = model.getSize();
    for(int i = 0;i<count;i++){
    model.remove(0);
    }
    }
    }
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    new JListDemo().setVisible(true);
    }}
    ---------------------------- 数据库连接类 -------------------------------------
    package com.topking.demo.connection;import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;public class ConnectionUtil { private static final String DB_DRIVER = "com.mysql.jdbc.Driver";
    private static final String DB_URL = "jdbc:mysql://localhost/mydb";
    private static final String DB_USER = "root";
    private static final String DB_PASS = "root";

    private static Connection conn = null;

    public static Connection getConnection(){
    try {
    if(conn == null||conn.isClosed()){
    Class.forName(DB_DRIVER);
    conn = DriverManager.getConnection(DB_URL,DB_USER,DB_PASS);
    }
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    return conn;
    }
    }