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

如何在 If 语句中使用 JOptionPane?

如何在 If 语句中使用 JOptionPane?

潇潇雨雨 2022-06-15 17:28:48
我是学习Java的新手。在作业中,我使用 If/Else 语句并尝试在 JOptionPane 中显示信息。这是我为说明我遇到的问题而制作的一个简单示例。如果字符串 hello 中的输入等于“hey”,我想显示“Hello there”。什么都没有出现。我注意到,如果我将 JOptionPane 语句放在代码的前面,例如在扫描仪声明旁边,它将起作用。此外,如果我这样做并将另一个 JOptionPane 保留在原始位置,则会出现两个对话框。我在想也许扫描仪输入会以某种方式弄乱它。import javax.swing.JOptionPane; import java.util.Scanner;public class HW2 {    public static void main( String args[] ) {        Scanner kb = new Scanner(System.in);        System.out.print("Say hey");        String hello = kb.nextLine();        if (hello.equals("hey"))             JOptionPane.showMessageDialog(null, "Hello there!");        kb.close();    }}有谁知道为什么对话框没有出现?谢谢!
查看完整描述

1 回答

?
紫衣仙女

TA贡献1839条经验 获得超15个赞

我相信你在这里没有任何问题,只是你的 JOptionPane 隐藏在你的 IDE 窗口后面或者在后面的某个地方。为了始终将其放在前面,请尝试使用以下内容:


if (hello.equals("hey")) {

     JOptionPane pane = new JOptionPane();

     JDialog dialog = pane.createDialog("My Test");

     pane.setMessage("Hello There");

     dialog.setAlwaysOnTop(true);

     dialog.setVisible(true);

}

这将使您在要使其可见的位置上更加灵活。另一种方式更短,但同样的想法:


if (hello.equals("hey")) {

    JDialog dialog = new JDialog();

    dialog.setAlwaysOnTop(true);

    JOptionPane.showMessageDialog(dialog, "Hello There");

}

完整的代码供您使用:


import javax.swing.*;

import java.util.Scanner;


public class HW2 {

    public static void main(String[] args) {

        Scanner kb = new Scanner(System.in);

        System.out.println("Say hey");

        String hello = kb.nextLine(); //use kb.nextLine().trim() if you dont want whitespaces

        if (hello.equals("hey")) {

            JDialog dialog = new JDialog();

            dialog.setAlwaysOnTop(true);

            JOptionPane.showMessageDialog(dialog, "Hello There");

        }

    }

}


查看完整回答
反对 回复 2022-06-15
  • 1 回答
  • 0 关注
  • 241 浏览

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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