键盘上的舞者

像写情书一样Coding...

用户操作
[即时聊天] [发私信] [加为好友]
键盘上的舞者ID:chenweionline
68128次访问,排名1517好友11人,关注者0
专注 Java Desktop 技术,多年 Java GUI 开发经验。
chenweionline的文章
原创 55 篇
翻译 0 篇
转载 19 篇
评论 142 篇
键盘上的舞者的公告

专注 JAVA Desktop 技术

简单做到极致

最近评论
hupy2007:讲的很好,但是上面提到的新建action的时候,可以选择有条件的可用,上文中写到下面会讲,但是下面也没有提到。我想问一下,project 、edit、open、save等都是些具体什么时候才会可用啊,谢谢了
zhangping:你好,我想我大约是遇上了和你同样的问题。

我的问题是:

我这里有一些java源文件,其中有些注释是日文写的。
在日文操作系统中,运行没有问题,但是在中文操作系统中

用NetBeans6.1重新建立工程,进行Build的时候,会报错和警告:



* <p>&……
兴趣:THS,能否介绍一些资料。
兴趣:如果采用JAVA, 它这方面的功能足够了吗?
兴趣:如果采用JAVA, 它这方面的功能足够了吗?
文章分类
收藏
    相册
    ChinaJoy 2008
    女魔头
    上海浦东软件园
    养在深闺人未识
    Favorite
    Apple-NaNa
    CnGadGet
    NOTCOT.ORG
    虚拟无忌
    技术
    Geertjan's Weblog
    java.net forums
    Let's Swing Java
    Mac Java Community
    NetBeans Rich Client Application (RCP)
    NetBeans星球
    open open
    朋友
    Christina
    企鹅博士
    地平线上
    阿憨月经
    非上上智
    资源
    balloontip
    bluemarine
    JAI
    JAI-ImageIO
    JMONKEYENGINE
    jna
    jrawio
    metadata extraction in java
    pdf-renderer
    QuickTime for Java
    swinglabs
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 将标准输出重定向到GUI收藏

    新一篇: New Book《Pro Netbeans IDE 6 Rich Client Platform Edition》 | 旧一篇: 现实生活中的Swing和NetBeans平台开发

    版权声明:转载时请务必保留以下作者信息和链接
    作者:陈维(chenweionline@hotmail.com)作者的网站:http://www.chenwei.mobi

    使用控制台运行 Java 程序时,我们只需要在程序中使用System.out.println()等标准输出语句就可以将信息在控制台界面打印出来;而在使用 IDE 运行程序时这些信息会输出在 IDE 的 Output 区域,这也是 IDE 的基本功能之一。实现输出从控制台到GUI并不复杂,只需要将标准输出重定向。

    重定向标准输出很easy,System 类里有两个静态方法setErr(PrintStream err)setOut(PrintStream out) 分别用于重定位“标准”错误输出流和“标准”输出流。只需要在程序初始时设置即可:

    // GUIPrintStream guiPrintStream = new GUIPrintStream(System.out, jTextArea);
    System.setErr(guiPrintStream);
    System.setOut(guiPrintStream);

     

    在上面的代码中,我们发现一个新的类 GUIPrintStream,这是我们为 PrintStream 所做的包装。因为我们的输出目标位置是GUI,所以需要在 PrintStream 上做些文章,大家请看下面 GUIPrintStream 的代码:

    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     
    */


    package mobi.chenwei.sample.redirectingstandardio;

    import java.io.OutputStream;
    import java.io.PrintStream;
    import javax.swing.SwingUtilities;
    import javax.swing.text.JTextComponent;

    /**
     * 输出到文本组件的流。
     * 
     * 
    @author Chen Wei
     * @website www.chenwei.mobi
     * @email chenweionline@hotmail.com
     
    */

    public class GUIPrintStream extends PrintStream{
        
        
    private JTextComponent component;
        
    private StringBuffer sb = new StringBuffer();
        
        
    public GUIPrintStream(OutputStream out, JTextComponent component){
            
    super(out);
            
    this.component = component;
        }

        
        
    /**
         * 重写write()方法,将输出信息填充到GUI组件。
         * 
    @param buf
         * 
    @param off
         * 
    @param len
         
    */

        @Override
        
    public void write(byte[] buf, int off, int len) {
            
    final String message = new String(buf, off, len);
            SwingUtilities.invokeLater(
    new Runnable(){
                
    public void run(){
                    sb.append(message);
                    component.setText(sb.toString());
                }

            }
    );
        }

    }

    类 GUIPrintStream,继承自 PrintStream 并且对它进行了一些修改。

    GUIPrintStream 在构造函数中增加了一个 JTextComponent 变量,它就是我们的目标输出 GUI 组件,它规定了目标输出组件是一个文本组件。接下来覆写了 write(byte[] buf, int off, int len)方法,这个方法原来的作用是将 len 字节从指定的初始偏移量为 off 的 byte 数组写入此流,现在经过我们的修改,变成了将 byte 数组包装成 String 写入目标 GUI 组件。

    简单的代码完成了将标准输出重定向到 GUI 的全过程。由此延伸,还可以将标准输出重定向到文本文件、从GUI获取标准输入等,就不一一介绍。

    完整样例程序下载:http://download.csdn.net/source/371798

     

    发表于 @ 2008年03月07日 12:13:00|评论(loading...)|收藏

    新一篇: New Book《Pro Netbeans IDE 6 Rich Client Platform Edition》 | 旧一篇: 现实生活中的Swing和NetBeans平台开发

    评论

    #rui1983YY 发表于2008-05-05 16:13:29  IP: 202.101.209.*
    一般在控制台输出的信息很多,往往不需要全部将它们输出到GUI。假如我只想将某一个int型数据输出到GUI上,应该怎么办呢?
    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © 键盘上的舞者