**已解决**
我对 Java 还很陌生,到目前为止我很喜欢它!
所以我只是问是否有人有一个可以帮助我的想法。所以这就是我想做的。
我现在正在做的是一个可以与我的本地网站交互的应用程序(更改标题、内容等)。所以我喜欢做的是显示一个JOptionPane.showConfirmDialog
,然后输入用户名和密码。
所以基本上如果用户名或密码错误我想显示一个JOptionPane.showMessageDialog
但是当他们点击Ok
让他们知道信息错误时showConfirmDialog
消失了!
有什么想法吗?!这是我的代码。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public class javaTesting extends JFrame {
public JFrame mrFrame;
public int enter;
public JPanel mrPanel;
public javaTesting() throws Exception
{
Class.forName("com.mysql.jdbc.Driver");
try {
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/cms","root","");
} catch (SQLException e){
System.out.println(e.getMessage());
}
mrFrame = new JFrame();
mrPanel = new JPanel();
mrPanel.setLayout(new GridLayout(4,1));
JLabel user = new JLabel("Username");
mrPanel.add(user);
JTextField user_input = new JTextField(30);
mrPanel.add(user_input);
JLabel pass = new JLabel("Password");
mrPanel.add(pass);
JTextField pw_input = new JPasswordField(30);
mrPanel.add(pw_input);
mrFrame.setSize(700,700);
mrFrame.setLocationRelativeTo(null);
mrFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//mrFrame.setVisible(true);
mrFrame.setResizable(false);
input();
if(enter == JOptionPane.OK_OPTION)
{
JOptionPane.showMessageDialog(null, "You clicked ok!");
input();
} else {
System.exit(1);
}
}
public void input()
{
enter = (int) JOptionPane.showConfirmDialog(mrFrame,mrPanel,"Login Cridantiels",JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE);
}
public static void main(String agrs[]) throws Exception
{
new javaTesting();
}
}
所以这就是我所做的,它似乎对我来说很好,不知道它是否不正确。但是它有效:]
do{
input();
if(enter == JOptionPane.OK_OPTION)
{
JOptionPane.showMessageDialog(null, "You clicked ok!");
} else {
System.exit(1);
}
} while(enter != JOptionPane.CANCEL_OPTION);