JOptionPane.showInputDialog(null,"请输入XXX"); 
你这样试试。
我用的是showmessagedialog这样就可以

解决方案 »

  1.   

    Swing中提供了JOptionPane类来实现类似Windows平台下的MessageBox的功能,同样在Java中也有,利用JOptionPane类中的各个static方法来生成各种标准的对话框,实现显示出信息、提出问题、警告、用户输入参数等功能。这些对话框都是模式对话框。
    ConfirmDialog --- 确认对话框,提出问题,然后由用户自己来确认(按"Yes"或"No"按钮)
    InputDialog --- 提示输入文本
    MessageDialog --- 显示信息
    OptionDialog -- 组合其它三个对话框类型。
      这四个对话框可以采用showXXXDialog()来显示,如showConfirmDialog()显示确认对话框、showInputDialog()显示输入文本对话框、showMessageDialog()显示信息对话框、showOptionDialog()显示选择性的对话框。它们所使用的参数说明如下:
    ① ParentComponent:指示对话框的父窗口对象,一般为当前窗口。也可以为null即采用缺省的Frame作为父窗口,此时对话框将设置在屏幕的正中。
    ② message:指示要在对话框内显示的描述性的文字
    ③ String title:标题条文字串。
    ④ Component:在对话框内要显示的组件(如按钮)
    ⑤ Icon:在对话框内要显示的图标
    ⑥ messageType:一般可以为如下的值ERROR_MESSAGE、INFORMATION_MESSAGE、WARNING_MESSAGE、QUESTION_MESSAGE、PLAIN_MESSAGE、
    ⑦ optionType:它决定在对话框的底部所要显示的按钮选项。一般可以为DEFAULT_OPTION、YES_NO_OPTION、YES_NO_CANCEL_OPTION、OK_CANCEL_OPTION。
    使用实例:
    (1)显示MessageDialog
    JOptionPane.showMessageDialog(null, "在对话框内显示的描述性的文字", "标题条文字串", JOptionPane.ERROR_MESSAGE);
    (2)显示ConfirmDialog
    JOptionPane.showConfirmDialog(null, "choose one", "choose one", JOptionPane.YES_NO_OPTION);
    (3)显示OptionDialog:该种对话框可以由用户自己来设置各个按钮的个数并返回用户点击各个按钮的序号(从0开始计数)
    Object[] options = {"确定","取消","帮助"};
    int response=JOptionPane.showOptionDialog(this, "这是个选项对话框,用户可以选择自己的按钮的个数", "选项对话框标题",JOptionPane.YES_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[0]);
    if(response==0)
    { this.setTitle("您按下了第OK按钮 ");
    }
    else if(response==1)
    { this.setTitle("您按下了第Cancel按钮 ");
    }
    else if(response==2)
    { this.setTitle("您按下了第Help按钮 ");
    }
    (4)显示InputDialog 以便让用户进行输入
    String inputValue = JOptionPane.showInputDialog("Please input a value");
    (5)显示InputDialog 以便让用户进行选择地输入
    Object[] possibleValues = { "First", "Second", "Third" }; //用户的选择项目
    Object selectedValue = JOptionPane.showInputDialog(null, "Choose one", "Input",JOptionPane.INFORMATION_MESSAGE, null, possibleValues, possibleValues[0]);
    setTitle("您按下了"+(String)selectedValue+"项目");
      

  2.   

    alickma(零缺点) 兄弟给的文章我刚刚研究过了,一一都进行的测试。但发现不能实现,如弹出一个显示模式固定在最前台的消息框啊。难道JAVA的消息框真的不能实现这个功能吗?以前我用VB都是可以的啊。
      

  3.   

    不可能吧,我贴的这篇文章不是我随便帖的,我的程序里相关的地方都是按照他这样写的。
    你注意这段话:
    ① ParentComponent:指示对话框的父窗口对象,一般为当前窗口。也可以为null即采用缺省的Frame作为父窗口,此时对话框将设置在屏幕的正中。
      

  4.   

    楼主的意思是在显示出dialog后,要满足无论点屏幕什么地方,这个dialog都拥有焦点。楼上几位说的都不能满足这个要求
      

  5.   

    ukulele8656(李坏傻馋) 兄弟说出了我的想要的意思。在显示出dialog后,要满足无论点屏幕什么地方,这个dialog都拥有焦点java可以做到这点吗???哪位大侠指点下啊。
      

  6.   

    首先在JAVA中 dialog是从属与某一个Frame存在的。在DIALOG失去焦点以前他的父窗口不可能获得焦点。  楼主说的情况是不可能的,比如你有两个程序分别放在屏幕的左边(A)和右边(B)[姑且不说任务栏],如果A中打开了一个DIALOG,此时如果你点B,那么A肯定要失去焦点。  如果只是针对一个程序的话,这样做是没有问题的,我的程序都是这样写的。
      

  7.   

    alickma(零缺点) 兄弟,不知道你用过VB没,在VB里不管是窗口还是DIALOG,都有个参数,叫显示模式.
    有一种显示模式就是,当这个窗口或DIALOG显示的时候,即使在屏幕上你鼠标点击这个窗口以外的地方,这个窗口都将强制拥有焦点,不知道你理解我的意思没。
    再普通点说,就和微软WINDOW里的错误提示框一样,你不点“确定”,就没法做别的事情了。
      

  8.   

    我没用过VB,有一小段时间用过VBSCRIPT,不过后来改了JAVASCRIPT了。你说的显示模式不知道是不是JAVA中的setModal(true)。但是这个函数只能用在JDialog的子类中。  对于JOtionPane,我还没用过,也不知道怎么用。我刚又测试了下我的程序,即使是  extends JDialog的类中有setModal(true),如果你点这个程序以外的地方还是可以使其他程序获得焦点。但是如果你点这个DIALOG所属程序范围的并且不属于这个JDIALOG的地方,那么这个DIALOG依然会拥有焦点。你所说的WINDOWS的情况,那是因为WINDOWS是你的操作系统,所以对于这个DIALOG来说他所属于的程序范围就是整个屏幕,所以点哪里DIALOG都有焦点
      

  9.   

    JOptionPane.showMessageDialog(this,
                                        "出错原因",
                                        "标题",
                                        JOptionPane.INFORMATION_MESSAGE);
      

  10.   

    谁说  微软WINDOW里的错误提示框一样,你不点“确定”,就没法做别的事情了  ?
    还没见过这么霸道的Dialog
      

  11.   

    因为VB好多年没用了,但依稀还记的好象是这么写的。
    frm.show("窗口名称",1)
    后面的1就是显示模式,如果是0为默认的普通模式,1就是这种窗口了。
      

  12.   

    没听说过,做出来看看
    反正java是不行。
      

  13.   

    上面不是写了,frm.show("窗口名称",1),如果要再具体的自己去VB专栏问。java 做这个做不出来???真的做不出来???怕不会吧。
    有没有人会啊。
      

  14.   

    java中与其对应的就应该是setmodal了吧   真不知道了 
    但我觉得在应用中当JDIALOG弹出时只要本程序其他窗口不能获得焦点就能够满足要求了吧
      

  15.   

    哎,看样JAVA真的做不出来了。呵呵。让这帖子再浮一浮,看有没有别的兄弟来交流下。