try:javax.swing.JRootPane rootpane=this.getRootPane();
----->
java.awt.Container rootpane=this.getContentPane();

解决方案 »

  1.   

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class Info extends javax.swing.JFrame {  javax.swing.JComboBox datadriver;
      javax.swing.JTextField dataclass;
      javax.swing.JTextField dataurl;
      javax.swing.JTextField datauser;
      javax.swing.JTextField datapwd;
      public Info() {
        //this.setBounds(100,100,400,200);
        this.addWindowListener(new java.awt.event.WindowListener() {
          public void windowOpened(WindowEvent e) {}      public void windowClosing(WindowEvent e) {
            System.out.println("Windows closing");
            System.exit(0);
          }      public void windowClosed(WindowEvent e) {
            System.out.println("Windows closed");
          }      public void windowIconified(WindowEvent e) {}      public void windowDeiconified(WindowEvent e) {}      public void windowActivated(WindowEvent e) {}      public void windowDeactivated(WindowEvent e) {}
        }
        );
        this.setTitle("Input the Database connect informations.");
        this.setResizable(false);
        //javax.swing.JRootPane rootpane = this.getRootPane();    //rootpane.setLayout(new java.awt.BorderLayout());
        javax.swing.JPanel mainpanel = new javax.swing.JPanel();
        mainpanel.setLayout(new java.awt.GridLayout(6, 1));
        this.getContentPane().add(mainpanel, java.awt.BorderLayout.CENTER);
        javax.swing.JPanel dbdriver = new javax.swing.JPanel();
        javax.swing.JPanel dbclass = new javax.swing.JPanel();
        javax.swing.JPanel dburl = new javax.swing.JPanel();
        javax.swing.JPanel button = new javax.swing.JPanel();
        javax.swing.JPanel dbuser = new javax.swing.JPanel();
        javax.swing.JPanel dbpwd = new javax.swing.JPanel();    mainpanel.add(dbdriver);
        mainpanel.add(dbclass);
        mainpanel.add(dburl);
        mainpanel.add(dbuser);
        mainpanel.add(dbpwd);
        mainpanel.add(button);    dbdriver.add(new javax.swing.JLabel("Database Driver "));
        //datadriver=new javax.swing.JTextField();
        //datadriver.setColumns(25);
        String[] s = {
            "Oracle", "IBM DB2 UDB"};
        datadriver = new javax.swing.JComboBox(s);
        dbdriver.add(datadriver);
        java.awt.FlowLayout driverlay = new java.awt.FlowLayout();
        driverlay.setAlignment(java.awt.FlowLayout.LEFT);
        dbdriver.setLayout(driverlay);    dbclass.add(new javax.swing.JLabel("Driver Class       "));
        dataclass = new javax.swing.JTextField();
        dataclass.setColumns(25);
        //Test Oracle
        dataclass.setText("oracle.jdbc.driver.OracleDriver");
        dbclass.add(dataclass);    dburl.add(new javax.swing.JLabel("Driver Conn URL"));
        dataurl = new javax.swing.JTextField();
        dataurl.setColumns(25);
        //Test Oracle
        dataurl.setText("jdbc:oracle:thin:@ip:1521:serviceName");
        dburl.add(dataurl);    dbuser.add(new javax.swing.JLabel("User Name       "));
        dbuser.add(new javax.swing.JLabel());
        datauser = new javax.swing.JTextField();
        datauser.setColumns(25);
        dbuser.add(datauser);    dbpwd.add(new javax.swing.JLabel("User Password  "));
        datapwd = new javax.swing.JTextField();
        datapwd.setColumns(25);
        dbpwd.add(datapwd);    javax.swing.JButton Testconn = new javax.swing.JButton("TestConnection");
        javax.swing.JButton OK = new javax.swing.JButton("OK");
        javax.swing.JButton Exit = new javax.swing.JButton("Exit");
        Exit.addActionListener(new java.awt.event.ActionListener() {
          public void actionPerformed(ActionEvent e) {
            System.exit(0);
          }
        });
        Testconn.addActionListener(new java.awt.event.ActionListener() {
          public void actionPerformed(ActionEvent e) {
            //Test Database connection
            try {
              Class.forName(dataclass.getText());
            }
            catch (Exception ex) {
              javax.swing.JOptionPane.showMessageDialog(null, ex.toString(), null,
                  javax.swing.JOptionPane.ERROR_MESSAGE);
            }
          }
        });
        button.add(Testconn);
        button.add(OK);
        button.add(Exit);
        OK.setEnabled(false);  }}
      

  2.   

    同上
    不要用javax.swing.JRootPane rootpane = this.getRootPane();

    javax.swing.JPanel rootpane=new JPanel();
    this.getContentPane().add(rootpane);
      

  3.   

    没看到什么错误啊,我放到机子上运行好好的。
    是不是没有main函数啊?
      

  4.   

    好像是这个问题,用getContentPane就可以了.
      

  5.   

    不知道为什么用javax.swing.JRootPane rootpane = this.getRootPane();就不行呢?
    必须在内容层中使用才有效