import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;import javax.swing.*;public class ComboText extends JPanel { /**
 * 
 */
private static final long serialVersionUID = 1L; /**
 * @param args
 */
public static void main(String[] args) { ComboFrame frame = new ComboFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}class ComboFrame extends JFrame {
/**
 * 
 */
private static final long serialVersionUID = 1L; public ComboFrame() {
setBounds(100, 100, 600, 400);
com = new JComboBox();
add(com);
show(); } public void show() {
Connection conn = null;
Statement stmt = null;
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=成绩管理系统"; String user = "sa";
String password = "";
conn = DriverManager.getConnection(url, user, password);
stmt = conn.createStatement();
ResultSet result = stmt.executeQuery("select * from 班级表");
while (result.next()) {
com.addItem(result.getString("班级名称"));
} } catch (SQLException e2) {
System.err.print(e2);
} catch (ClassNotFoundException e) { e.printStackTrace();
} finally {
try {
stmt.close();
conn.close();
} catch (SQLException e) { e.printStackTrace();
} }
} private JComboBox com;
}运行之后,界面都没有出来...

解决方案 »

  1.   

    lass ComboFrame extends JFrame { 
    /** 

    */ 
    private static final long serialVersionUID = 1L; public ComboFrame() { 
    setBounds(100, 100, 600, 400); 
    com = new JComboBox(); 
    add(com); 
    show(); }这里面加上this.setVisible(true);
      

  2.   

    竟是胡说,楼主并不是没有调用setVisible。原因如下,以后要注意
    show()为Frame中的方法,你自己实现show()相当于对系统的方法重写,而且没有调用super.show(),当然界面就显示不出来了。你可以看一下源码setVisible也是通过调用show来实现的。