doubleclickdemo.java

来自「全面实现ilog地功能,没有使用第三方lib.」· Java 代码 · 共 71 行

JAVA
71
字号
/*
 * This source code is part of TWaver 1.3.1
 *
 * SERVA Software PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 * Copyright 2000-2005 SERVA Software, Inc. All rights reserved.
 */

package demo.network;

import java.awt.BorderLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JOptionPane;

import twaver.Element;
import twaver.Link;
import twaver.Node;
import twaver.TDataBox;
import twaver.network.TNetwork;
import demo.DemoPane;

public class DoubleClickDemo extends DemoPane {
    TDataBox box = new TDataBox();
    TNetwork network = new TNetwork(box);

    public DoubleClickDemo() {
        this.add(network, BorderLayout.CENTER);

        int count = 30;
        int r = 200;
        for (int i = 0; i < count; i++) {
            Node node = new Node("node-" + i);
            int x = (int) (r * Math.cos(Math.PI * 2 / count * i));
            int y = (int) (r * Math.sin(Math.PI * 2 / count * i));
            node.setLocation(r + x, r + y);
            box.addElement(node);
        }
        for (int from = 0; from < count; from++) {
            for (int to = from + 1; to < count; to++) {
                Node fromNode = (Node) box.getElementByID("node-" + from);
                Node toNode = (Node) box.getElementByID("node-" + to);
                Link link = new Link("link-" + from + "-" + to, fromNode, toNode);
                link.putClientProperty("link.width", new Integer(1));
                box.addElement(link);
            }
        }

        network.getCanvas().addMouseListener(new MouseAdapter() {
            public void mouseClicked(MouseEvent e) {
                if (e.getClickCount() == 2) {
                    Element element = network.getElementPhysicalAt(e.getPoint());
                    if (element == null) {
                        JOptionPane.showMessageDialog(network, "Click nothing");
                    } else {
                        JOptionPane.showMessageDialog(network, element.getID() + " clicked");
                    }
                }
            }
        });
    }

    public String getHelp() {
        return "This demo shows how to listen mouse event on network.";
    }

    public String getTitle() {
        return "Double Click Demo";
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?