jung 学习

        // 使用该图创建布局对象   
FR_Alg FR = new FR_Alg(g);
        final VisualizationViewer<String,String> vv = new VisualizationViewer<String,String>(FR);
        //定义节点颜色
        Transformer<String, Paint> vertexPaint = new Transformer<String, Paint>() {
        public Paint transform(String s){
        return Color.red;
        }
};
//设置顶点形状的显示尺寸为:字符数*8+16  
        Transformer<String, Integer> vst = new Transformer<String, Integer>() {  
            public Integer transform(String i) {  
                int len = i.toString().length();  
                if (len < 3)  
                    len = 3;  
                return new Integer(len*2);  
            }  
        };  
  //高宽比变换器  
        Transformer<String, Float> vart = new Transformer<String, Float>() {  
            public Float transform(String i) {  
                int len = i.toString().length();  
                if (len < 3)  
                    len = 3;  
                return new Float(4/len);  
            }  
        }; 
//构造顶点形状工厂  
        final VertexShapeFactory<String> vsf= new VertexShapeFactory<String>(vst, vart); 
       // final VertexShapeFactory<String> vsf= new VertexShapeFactory<String>();
        //设置顶点形状变换器  
        Transformer<String, Shape> vertexShape = new Transformer<String, Shape>() {  
            public Shape transform(String s) {  
                return vsf.getEllipse(s);
            }  
        };  
//获取图的相关属性
        Transformer<String, String> vertexLabel = new Transformer<String, String>() {
        public String transform(String s){
        return s;//s就是图的节点
        }
};
vv.getRenderContext().setVertexShapeTransformer(vertexShape);//设置顶点形状
vv.getRenderContext().setVertexFillPaintTransformer(vertexPaint);//对节点进行颜色填充
//vv.getRenderContext().setVertexDrawPaintTransformer(vertexPaint);//不进行颜色填充
//vv.getRenderContext().setVertexLabelTransformer(vertexLabel);//设置节点的标签
//vv.getRenderContext().setVertexLabelTransformer(new ToStringLabeller<String>());//与上功能一样
        //vv.getRenderContext().setEdgeLabelTransformer(vertexLabel);//设置边的标签
//vv.getRenderContext().setEdgeLabelTransformer(new ToStringLabeller<String>());//,与上功能一样
//鼠标响应事件
        final DefaultModalGraphMouse<String,Number> graphMouse = new DefaultModalGraphMouse<String,Number>();
        vv.setGraphMouse(graphMouse);
        //运行时点击“p”键切换到选择模式,点击“t”键切换到移动模式
        vv.addKeyListener(graphMouse.getModeKeyListener());
        DefaultModalGraphMouse<Integer, Paint> gm = new DefaultModalGraphMouse<Integer, Paint>();  
        gm.setMode(Mode.PICKING);  
        getContentPane().add(vv);  
        pack();  
根据提供的引用内容,我无法确定您具体想了解什么关于CSP出行计划Java方面的内容。但是,我可以为您提供一些关于CSP出行计划和Java的基本信息。 CSP出行计划是一个基于云计算的智能交通出行服务平台,它可以为用户提供出行规划、路线推荐、实时路况、公交查询等服务。而Java是一种广泛使用的编程语言,它可以用于开发各种类型的应用程序,包括Web应用程序、桌面应用程序、移动应用程序等。 如果您想了解如何使用Java开发CSP出行计划相关的应用程序,您可以参考以下步骤: 1.了解CSP出行计划的API接口文档,确定需要使用哪些API接口。 2.使用Java编写代码,调用CSP出行计划的API接口,获取所需的数据。 3.根据获取的数据,进行相应的处理和展示,以实现所需的功能。 下面是一个使用Java调用CSP出行计划API接口获取公交查询结果的示例代码: ```java import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; public class BusQuery { public static void main(String[] args) { String appkey = "your_appkey";//你的appkey String city = "北京";//城市名 String bus = "特8";//公交线路名 String url = "http://api.csp.cn/bus/line?appkey=" + appkey + "&city=" + URLEncoder.encode(city) + "&bus=" + URLEncoder.encode(bus); String result = ""; try { URL realUrl = new URL(url); HttpURLConnection conn = (HttpURLConnection) realUrl.openConnection(); conn.setRequestMethod("GET"); conn.connect(); BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8")); String line; while ((line = in.readLine()) != null) { result += line; } in.close(); } catch (Exception e) { e.printStackTrace(); } System.out.println(result); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值