我的意思是在dos窗口里输入一个串,然后在一个图形界面输出这个串,可以保持适时性,可以多次输入,然后输出

解决方案 »

  1.   

    DOS窗口中跑的程序跟图形界面程序肯定是是两个程序咯?通过某种方法让他们俩通讯就是了,比如通过网络。
      

  2.   

    或者通过其它的channel,看看java.nio.channels中有没有你想要的吧。
      

  3.   

    这是一个BT的回答,哈哈哈哈~~~真不知道这个程序有什么用?package swing;import java.util.Scanner;
    import javax.swing.JFrame;
    import javax.swing.JTextField;/**
     *我的意思是在dos窗口里输入一个串,然后在一个图形界面输出这个串, *可以保持适时性,可以多次输入,然后输出
     * @author mouyong
     */
    public class DosToGUITest {
        public static void main(String[] args) {
            //构造输入流
            Scanner in=new Scanner(System.in);
            //显示窗口
            MyJFrame myJFrame=new MyJFrame();
            String exit="";        //实现多次输入
            while(!exit.equals("quit")){
                //接收键盘输入
                exit=in.next();
                //实时输出在文本框中
                myJFrame.setTxtMsg(exit);        }
        }
    }class MyJFrame extends JFrame{
        private JTextField txtMsg=new JTextField();
        public void setTxtMsg(String msg) {
            txtMsg.setText(msg);
        }    public MyJFrame(){
            this.add(txtMsg);
            this.setSize(200, 200);
            this.setVisible(true);    }
    }
      

  4.   

    To mouyong:
       首先谢谢你的回答。   你用的public void setTxtMsg(String msg) {
            txtMsg.setText(msg);
        }这个不满足我的要求,
    你这是用新的消息覆盖掉以前的消息,
    我想要的是把全部的消息都显示出来,
    新消息换行显示;
      

  5.   

    你不知道用一个StringBuffer记录啊.
      

  6.   

    我晕。你自己改一下不就可以了?public void setTxtMsg(String msg) { 
            txtMsg.setText(txtMsg.getText()+msg); 
        } 
      

  7.   

    看漏“换行”两个字了。。(你不要告诉我,你不知道换行就是\n呀。。)
    改了个多行文本框。原来那个不能显示多行。
    package swing;import java.util.Scanner;
    import javax.swing.JFrame;
    import javax.swing.JTextArea;
    import javax.swing.JTextField;/**
     *我的意思是在dos窗口里输入一个串,然后在一个图形界面输出这个串, *可以保持适时性,可以多次输入,然后输出
     * @author mouyong
     */
    public class DosToGUITest {
        public static void main(String[] args) {
            //构造输入流
            Scanner in=new Scanner(System.in);
            //显示窗口
            MyJFrame myJFrame=new MyJFrame();
            String exit="";        //实现多次输入
            while(!exit.equals("quit")){
                //接收键盘输入
                exit=in.next();
                //实时输出在文本框中
                myJFrame.setTxtMsg(exit);        }
        }
    }class MyJFrame extends JFrame{
        private JTextArea txtMsg=new JTextArea();
        public void setTxtMsg(String msg) {
            txtMsg.setText(txtMsg.getText()+"\n"+msg);
        }    public MyJFrame(){
            this.add(txtMsg);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            this.setSize(200, 200);
            this.setVisible(true);    }
    }