Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JOptionPane:parentComponent没有有效的父级_Java_Database_Eclipse_Swing_Wampserver - Fatal编程技术网

Java JOptionPane:parentComponent没有有效的父级

Java JOptionPane:parentComponent没有有效的父级,java,database,eclipse,swing,wampserver,Java,Database,Eclipse,Swing,Wampserver,我将Java eclipse用于我的数据库,但最终我遇到了如下错误:JOptionPane:parentComponent没有有效的父级我不知道问题出在哪里,请有人解释一下,因为我只是IT专业的二年级学生,我想了解更多关于Java的知识,我想完成我的目标 import java.awt.EventQueue; import java.lang.*; import javax.swing.JFrame; import javax.swing.JTextField; import javax.swi

我将Java eclipse用于我的数据库,但最终我遇到了如下错误:
JOptionPane:parentComponent没有有效的父级
我不知道问题出在哪里,请有人解释一下,因为我只是IT专业的二年级学生,我想了解更多关于Java的知识,我想完成我的目标

import java.awt.EventQueue;
import java.lang.*;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JPasswordField;
import javax.swing.JButton;
import javax.swing.JLabel;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.sql.*;

import javax.swing.*;

public class Login {

  Connection connection = null;

  private JFrame frame;
  private JTextField username;
  private JPasswordField password;

  /**
   * Launch the application.
   */
  public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
      public void run() {
        try {
          Login window = new Login();
          window.frame.setVisible(true);
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
    });
  }

  /**
   * Create the application.
   */

  public Login() {
    initialize();
    connection = Database.dbconector();

  }

  /**
   * Initialize the contents of the frame.
   */
  private void initialize() {
    frame = new JFrame();
    frame.setBounds(100, 100, 450, 300);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().setLayout(null);

    username = new JTextField();
    username.setBounds(127, 55, 200, 50);
    frame.getContentPane().add(username);
    username.setColumns(10);

    password = new JPasswordField();
    password.setBounds(127, 125, 200, 50);
    frame.getContentPane().add(password);

    JButton btnLogin = new JButton("Log in");
    btnLogin.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {


        try {
          String query = "select * from bsit-db where Username=? and Password=?";
          PreparedStatement pst = connection.prepareStatement(query);
          pst.setString(1, username.getText());
          pst.setString(2, password.getText());


          ResultSet rs = pst.executeQuery();
          int count = 0;
          while (rs.next()) {
            count = count + 1;
          }
          if (count == 1) {
            JOptionPane.showInternalInputDialog(null, "Successfully Login to your account!");



          } else {
            JOptionPane.showInternalInputDialog(null, "Incorrect ID/Password. Please Try Again!");
          }
          rs.close();
          pst.close();

        } catch (Exception e1) {
          JOptionPane.showInternalInputDialog(null, e1);

        } finally {
          try {

          } catch (Exception e1) {
            JOptionPane.showInternalInputDialog(null, e1);
          }
        }


      }
    });
    btnLogin.setBounds(103, 202, 112, 37);
    frame.getContentPane().add(btnLogin);

    JButton btnClear = new JButton("clear");
    btnClear.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent arg0) {

        username.setText(null);
        password.setText(null);
      }
    });
    btnClear.setBounds(237, 202, 112, 37);
    frame.getContentPane().add(btnClear);

    JLabel lblUsername = new JLabel("username");
    lblUsername.setBounds(66, 55, 200, 50);
    frame.getContentPane().add(lblUsername);

    JLabel lblPassword = new JLabel("password");
    lblPassword.setBounds(66, 125, 200, 50);
    frame.getContentPane().add(lblPassword);
  }
}
这是控制台错误

Sun Aug 06 20:54:43 CST 2017警告:建立SSL连接 不建议在没有服务器的情况下进行身份验证。相符合的 为了满足MySQL 5.5.45+、5.6.26+和5.7.6+的要求,必须使用SSL连接 如果未指定显式选项,则默认情况下建立 t设置。为了符合不使用SSL的现有应用程序的要求,verifyServerCertificate属性设置为“false”。您需要 通过设置useSSL=false或设置useSSL=true显式禁用SSL 并提供信任库 用于服务器证书验证。 java.lang.RuntimeException:JOptionPane:parentComponent没有有效的父级 位于javax.swing.JOptionPane.createInternalFrame(未知源) 位于javax.swing.JOptionPane.showInternalOptionDialog(未知源) 位于javax.swing.JOptionPane.showInternalMessageDialog(未知源) 位于javax.swing.JOptionPane.showInternalMessageDialog(未知源) 位于javax.swing.JOptionPane.showInternalMessageDialog(未知源) 位于Database.dbconector(Database.java:19) 登录时init>(Login.java:44) 登录时$1.run(Login.java:29) 在java.awt.event.InvocationEvent.dispatch(未知源)处 位于java.awt.EventQueue.dispatchEventImpl(未知源) 位于java.awt.EventQueue.access$500(未知源) 在java.awt.EventQueue$3.run处(未知源) 在java.awt.EventQueue$3.run处(未知源) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(未知 (来源) 位于java.awt.EventQueue.dispatchEvent(未知源) 位于java.awt.EventDispatchThread.pumpOneEventForFilters(未知源) 位于java.awt.EventDispatchThread.pumpEventsForFilter(未知源) 位于java.awt.EventDispatchThread.pumpEventsForHierarchy(未知源) 位于java.awt.EventDispatchThread.pumpEvents(未知源) 位于java.awt.EventDispatchThread.pumpEvents(未知源) 位于java.awt.EventDispatchThread.run(未知源)

showInternalInputDialog
用于显示在
JDesktopPane
。而是查看
showInputDialog

见这个问题:

showInternalInputDialog
用于显示在
JDesktopPane
。而是查看
showInputDialog

见这个问题: