java编程中结果的可视化表示

比如,用myeclipse编写了一个java程序,最后的结果是一棵树。如何将这棵树直接可视化显示出来?有没有什么类似的插件实现?... 比如,用myeclipse编写了一个java程序,最后的结果是一棵树。
如何将这棵树直接可视化显示出来?有没有什么类似的插件实现 ?
展开
 我来答
xumengliang
2013-12-11 · 超过11用户采纳过TA的回答
知道答主
回答量:36
采纳率:0%
帮助的人:25.1万
展开全部

可以  javaSwing 编程  给你个例子 

package com.xu.pcchart;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.Socket;
import java.sql.Date;
import java.text.SimpleDateFormat;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class Clinet extends JFrame implements Runnable, ActionListener
{
    private static final long serialVersionUID = 1L;
    public static final int PORT  = 8521;
    //声明套接字对象
    Socket socket;
    //声明线程对象
    Thread thread1;
    //声明客户端数据输入输出流
    DataInputStream in;
    DataOutputStream out;
    //是否登录的标记
    boolean flag = false;
    
    //声明字符串,name存储用户名,chat_txt存储发送的信息,chat_in存储从服务器接收到的信息
    String name,chat_txt,chat_in;
    String ip = null;
    
    /**
     * 服务器端主程序负责界面以及服务端主线程ServerThread的启动
     * 服务主线程ServerThread又产生BroadCast及ClientThread线程
     */
     //建立服务器端主界面所用到的布局方式
    BorderLayout borderlayout1 = new BorderLayout();
    BorderLayout borderlayout2 = new BorderLayout();
    BorderLayout borderlayout3 = new BorderLayout();
    
    //创建面板
    JPanel jPanel1 = new JPanel();
    JPanel jPanel2 = new JPanel();
    JPanel jPanel3 = new JPanel();
    JPanel jPanel4 = new JPanel();
    //创建按钮
    JButton jButton1 = new JButton();
    JButton jButton2 = new JButton();
    JButton jButton3 = new JButton("发送");
    JScrollPane jScrollpanel = new JScrollPane();
    
    //创建服务器端接收信息文本框
    static  JTextArea jTextArea1 = new JTextArea();
    boolean bool = false,start = false;
    
    JLabel usernamelable = new JLabel("用户名");
    JTextField usernametext  = new JTextField(10);
    JTextField sendmsgText  = new JTextField(20);
    JLabel lable = new JLabel("服务器地址");
    JTextField addresslable  =new JTextField("192.168.1.198",10);
    
    
    //声明ServerThread线程对象
    ServerThread serverThread;
    Thread thread;
    
    //构造函数 ,生成客户端界面
    public Clinet()
        {
        //设置内容分面板布局方式
            getContentPane().setLayout(borderlayout1);
            //初始化组件
            jButton1.setText("进入聊天室");
            jButton1.addActionListener(this);
            jButton2.setText("退出聊天室");
            jButton2.addActionListener(this);
            jButton3.addActionListener(this);
            
            //初始化JPanel1面板对象,并向其加入组件
            this.getContentPane().add(jPanel1,java.awt.BorderLayout.NORTH);
            jPanel1.add(usernamelable);
            jPanel1.add(usernametext);
            jPanel1.add(jButton1);
            jPanel1.add(jButton2);
            
            //初始化jpanel2面板对象,并向其加入组件
            jTextArea1.setText("");
            jPanel2.setLayout(borderlayout2);
            
            jPanel2.add(jScrollpanel,java.awt.BorderLayout.CENTER);
            jScrollpanel.getViewport().add(jTextArea1);
            this.getContentPane().add(jPanel2,java.awt.BorderLayout.CENTER);
            jPanel4.add(lable);
            jPanel4.add(addresslable);
            getContentPane().add(jPanel4,java.awt.BorderLayout.EAST);
            
            getContentPane().add(jPanel3,java.awt.BorderLayout.SOUTH);
            jPanel3.add(sendmsgText);
            jPanel3.add(jButton3);
            this.setSize(400,400);
            this.setVisible(true);
        }        
    public static void main(String[] args)
    {
        Clinet server = new Clinet ();
         server.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    
    //界面按钮的事件处理
    @Override
    public void actionPerformed(ActionEvent e)
    {
        //进入聊天室的按钮处理
        if(e.getSource() == jButton1)
        {
            //获取用户名
            name = usernametext.getText();
            //获取服务器IP
            ip = addresslable.getText();
            //判断用户名是否有效及ip是否为空
            if(name!="用户名输入"&&ip != null)
            {
                try
                {
                    //创建socket对象
                    socket = new Socket(ip,PORT);
                    //创建客户端数据输入输出流,用于对服务器端发送或接收数据
                    in = new DataInputStream(socket.getInputStream());
                    out = new DataOutputStream(socket.getOutputStream());
                    Date now = new Date(System.currentTimeMillis());
                    SimpleDateFormat format = new SimpleDateFormat("hh:mm:ss");
                    String nowStr = format.format(now);
                    out.writeUTF("$$"+name+" "+nowStr+" 上线了!");
                } catch (Exception e2)
                {
                    e2.printStackTrace();
                }
                thread = new Thread(this);
                //开启线程,监听服务器端是否有消息
                thread.start();
                //说明已经登录成功
                flag = true;
            }
        }
        //发送按钮的处理
        else if(e.getSource() == jButton3)
        {
            //获取客户端输入的发言内容
            chat_txt = sendmsgText.getText();
            if(chat_txt != null)
            {
                Date now = new Date(System.currentTimeMillis());
                SimpleDateFormat format = new SimpleDateFormat("hh:mm:ss");
                String nowStr = format.format(now);
                //发言 向服务器发送发言的信息
                try
                {
                    out.writeUTF("^-^"+usernametext.getText()+" "+nowStr+" 说\n"+chat_txt);
                } catch (Exception e2)
                {
                    // TODO: handle exception
                }
            }
            else
            {
                try
                {
                    out.writeUTF("亲说话");;
                } catch (Exception e2)
                {
                    // TODO: handle exception
                }
            }
        }
        //退出聊天室按钮事件处理
        else if(e.getSource() == jButton2)
        {
            if(flag == true)
            {
                try
                {
                    out.writeUTF("##"+name+"下线了!");
                    
                    out.close();
                    in.close();
                    socket.close();
                    
                } catch (Exception e2)
                {
                    // TODO: handle exception
                }
            }
            flag = false;
            this.setVisible(false);
        }
    }
    //客户端线程启动后的动作
    @Override
    public void run()
    {
        //循环执行 作用是一直监听服务器端是否有消息
        while(true)
        {
            try
            {
                //读取服务器发送来的数据
                chat_in = in.readUTF();
                //将消息显示在客户端的对话窗口中
                jTextArea1.append(chat_in+"\n\n");
            } catch (Exception e)
            {
                // TODO: handle exception
            }
            
        }
    }
    
    
}

运行结果

具体介绍请看java的   JDK 文档

koostyle
2013-12-11 · TA获得超过1892个赞
知道小有建树答主
回答量:686
采纳率:50%
帮助的人:536万
展开全部
插件不清楚.
不过你可以尝试把数据设置到Jquery中的Jtree中.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式