为了账号安全,请及时绑定邮箱和手机立即绑定

如下,请问该如何在程序中UserFrame构造方法中第一行弹出一个类似的对话框?

如下,请问该如何在程序中UserFrame构造方法中第一行弹出一个类似的对话框?

人到中年有点甜 2022-05-26 15:11:32
//要求如下/**如何在程序中UserFrame构造方法中第一行弹出一个类似的对话框,*其中有两个输入框,分别输入用户名和密码,可以返回两个String*而不采用如下split方法来分别验证用户名和密码?*我曾试图自己写一个对话框,但是程序在弹出对话框后没有暂停执行等待输入,*而是,即使不输入正确的用户名和密码,也会弹出UserFrame,代码如下:*/import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JOptionPane;import javax.swing.JPanel;public class UserFrame extends JFrame {public UserFrame() {// 即以下此行中是否有现成写好的类可以显示一个对话框,有两个输入框String str = JOptionPane.showInputDialog(this, new String[] {"Please input username", "password" }, "login",DO_NOTHING_ON_CLOSE);String username = null;String password = null;try {if (str == null || "".equals(str.trim())) {System.out.println("no input");System.exit(0);}String[] info = str.split(",");username = info[0];password = info[1];} catch (Exception e) {System.exit(0);}if (username.equals("scott") && password.equals("tiger")) {this.setContentPane(getContent());this.setBounds(250, 100, 600, 480);this.setTitle("UI");this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);} else {System.exit(0);}}public JPanel getContent() {JPanel panel = new JPanel();JButton button = new JButton("doSomething");button.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {System.out.println("doSomething");}});panel.add(button);return panel;}public final static void main(String[] args) {UserFrame uf = new UserFrame();uf.setVisible(true);}}如何写?
查看完整描述

2 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

可以使用JoptionPane:

有几种提示框:

第一种:

JOptionPane.showMessageDialog(jPanel, "提示消息", "标题",JOptionPane.WARNING_MESSAGE);  

第二种:

int n = JOptionPane.showConfirmDialog(null, "你高兴吗?", "标题",JOptionPane.YES_NO_OPTION);//返回的是按钮的index  i=0或者1  

第三种:

Object[] obj2 ={ "足球", "篮球", "乒乓球" };  

String s = (String) JOptionPane.showInputDialog(null,"请选择你的爱好:\n", "爱好", JOptionPane.PLAIN_MESSAGE, new ImageIcon("icon.png"), obj2, "足球");  

 


查看完整回答
反对 回复 2022-05-30
?
胡说叔叔

TA贡献1804条经验 获得超8个赞

简单啊,你先不要让UserFrame的visible值设为true,就先弹出对话框,等对话框执行完再验证,如果验证通过就setVisible(true),否则直接exit就行了..具体自己实现吧...

查看完整回答
反对 回复 2022-05-30
  • 2 回答
  • 0 关注
  • 145 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号