本人现在想编写一个类似Swing中的JFileChooser.showOpenDialog()的JFrame窗体,当点击JFrame里的一个按钮时,就把用户在JFrame的文本框里输入的值返回出来
JFileChooser代码:JFileChooser jf = new JFileChooser();
int result = jf.showOpenDialog(new JFrame());
System.out.println("关闭文件选择对话框后才打印出结果:  " + result);类似JFileChooser代码MyJFrame my=new MyJFrame();
String username=my.show();
System.out.println("输入的用户名:"+username);

解决方案 »

  1.   

    在哪用?有可以用的为什么不用?
    swing有jf
    html有<input type="file" .../>
      

  2.   

        我现在不是想选择文件夹  我现在的要求是在MyJFrame里面做一些数据的输入,然后像JFileChooser一样可以返回东西出来,并且这个方法是阻塞的,也就是MyJFrame没有返回东西,后面的代码是不会执行的。
        头痛死了  帮帮我吧...
     
      

  3.   

    抱歉啊~下午就看到了~因为在上课没回复
    阻塞的话用while就行了
    我写了个例子,应该是你要求import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;public class MyJFrame extends JFrame implements ActionListener

        private String username="";
        private boolean Flag=false;
        private JTextField tt;
        public MyJFrame()
        {
            setSize(200,50);
            tt=new JTextField();
            add(tt,BorderLayout.CENTER);
            JButton bb=new JButton("确定");
            bb.addActionListener(this);
            add(bb,BorderLayout.EAST);
    addWindowListener(new WindowAdapter()
            {
              public void windowClosing(WindowEvent e)
                {
                    Flag=true;
                    System.exit(0);
                }
            });
        }
        public String showMyJFrame()                        
        {
            setVisible(true);
            while(!Flag){}
            username=tt.getText();
            return username;
        }
        public void actionPerformed(ActionEvent e)
        {
            Flag=true;
            System.exit(0);
        } 
        public static void main( String args[])
        {
            MyJFrame my=new MyJFrame();
            String username=my.showMyJFrame();
            System.out.println("输入的用户名:"+username);
        }
    }
      

  4.   

    while的话,似乎CPU空转不是特别好。
    用wait/notify吧
      

  5.   

    使用 JOptionPane的 showInputDialog方法。
      

  6.   

         谢谢各位大虾的帮助  问题算是解决了  我是用的showOpenDialog  这样我就可以随便放控件进去了
      不过 这个办法还是不怎么好  不知道有没有更好的办法
      

  7.   

      不好意思 不是shouOpendialog  是用的JDialog