⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 demo.java

📁 全面实现ilog地功能,没有使用第三方lib.
💻 JAVA
字号:
/*
 * 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;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTextField;

import twaver.DataBoxSelectionAdapter;
import twaver.DataBoxSelectionEvent;
import twaver.Element;
import twaver.TDataBox;
import twaver.TWaverConst;
import twaver.TWaverUtil;
import twaver.tree.TTree;

public class Demo extends JFrame {
    TDataBox box = new TDataBox("TWaver Demos");
    JPanel mainPane = new JPanel();
    BorderLayout mainPaneLayout = new BorderLayout();
    JSplitPane rootSplit = new JSplitPane();
    JScrollPane treeScroll = new JScrollPane();
    JTextField txtSearch = new JTextField();
    JPanel leftPanel = new JPanel();
    JSplitPane rightSplit = new JSplitPane();
    JScrollPane scrollHelp = new JScrollPane();
    JEditorPane txtReadMe = new JEditorPane();
    JScrollPane scrollReadMe=new JScrollPane(txtReadMe);
    TTree tree = new TTree(box);
    JEditorPane txtHelp = new JEditorPane("text/html", "");
    JMenuBar menu = new JMenuBar();
    JMenu menuFile = new JMenu();
    JMenuItem itemExit = new JMenuItem();
    JMenu menuHelp = new JMenu();
    JMenuItem itemAbout = new JMenuItem();
    JPanel statusPane = new JPanel();
    BorderLayout borderLayout1 = new BorderLayout();
    JLabel txtStatus = new JLabel();
    JPanel searchPane = new JPanel();
    BorderLayout searchPaneLayout = new BorderLayout();
    JLabel lbSearch = new JLabel();
    MemoryChartPane chart=new MemoryChartPane();

    public Demo() {
        try {
            jbInit();
            DemoNodeFactory.createAll(box);
            this.setSize(800, 600);
            TWaverUtil.centerWindow(this);
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }

    private void jbInit() throws Exception {
        this.setJMenuBar(menu);
        this.setTitle("TWaver Examples");
        txtReadMe.setPage(getClass().getResource("/demo/resource/README.html"));
        mainPane.setLayout(mainPaneLayout);
        rightSplit.setOrientation(JSplitPane.VERTICAL_SPLIT);
        rightSplit.setContinuousLayout(true);
        rootSplit.setContinuousLayout(true);
        rightSplit.setDividerLocation(400);
        txtHelp.setEditable(false);
        menuFile.setText("File");
        itemExit.setText("Exit");
        itemExit.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(ActionEvent e) {
                itemExit_actionPerformed(e);
            }
        });
        menuHelp.setText("Help");
        itemAbout.setText("About");
        itemAbout.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(ActionEvent e) {
                itemAbout_actionPerformed(e);
            }
        });
        txtSearch.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                searchField_actionPerformed(e);
            }
        });
        statusPane.setLayout(borderLayout1);
        txtStatus.setText("Ready.");
        searchPane.setEnabled(true);
        searchPane.setLayout(searchPaneLayout);
        searchPaneLayout.setHgap(0);
        lbSearch.setText("Quick Search:");
        this.getContentPane().add(mainPane, BorderLayout.CENTER);
        leftPanel.setLayout(new BorderLayout());
        leftPanel.add(treeScroll, BorderLayout.CENTER);
        leftPanel.add(searchPane, BorderLayout.NORTH);
        leftPanel.add(chart,BorderLayout.SOUTH);
        searchPane.add(lbSearch, BorderLayout.NORTH);
        searchPane.add(txtSearch, BorderLayout.CENTER);
        mainPane.add(rootSplit, BorderLayout.CENTER);
        rootSplit.add(rightSplit, JSplitPane.RIGHT);
        rootSplit.add(leftPanel, JSplitPane.LEFT);
        mainPane.add(statusPane, BorderLayout.SOUTH);
        statusPane.add(txtStatus, BorderLayout.CENTER);
        treeScroll.getViewport().add(tree, null);
        rightSplit.add(scrollHelp, JSplitPane.BOTTOM);
        scrollHelp.getViewport().add(txtHelp, null);
        menu.add(menuFile);
        menu.add(menuHelp);
        menuFile.add(itemExit);
        menuHelp.add(itemAbout);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        txtReadMe.setEditable(false);
        rightSplit.add(scrollReadMe, JSplitPane.TOP);
        txtHelp.setText("Nothing selected.");

        tree.setElementMakedVisibleOnSelected(true);
        box.getSelectionModel().addBoxSelectionListener(new DataBoxSelectionAdapter() {
            public void selectionChanged(DataBoxSelectionEvent dataBoxSelectionEvent) {
                if (box.getSelectionModel().size() == 1) {
                    if (box.getSelectionModel().lastElement() instanceof DemoNode) {
                        DemoNode node = (DemoNode) box.getSelectionModel().lastElement();
                        if (node.getDemoPane() == null) {
                            Class clazz = node.getDemoClass();
                            try {
                                node.setExamplePane( (DemoPane) clazz.newInstance());
                                rightSplit.setDividerLocation(0.8);
                            }
                            catch (Exception ex) {
                                ex.printStackTrace();
                            }
                        }
                        DemoPane pane = node.getDemoPane();
                        rightSplit.add(pane, JSplitPane.TOP);
                        txtHelp.setText("<html><b>" +
                                        pane.getTitle() + "</b><br><br>" +
                                        pane.getHelp() + "</html>");
                        txtStatus.setText("Current example: " + pane.getTitle());
                    }
                } else {
                    rightSplit.add(scrollReadMe, JSplitPane.TOP);
                    rightSplit.setDividerLocation(0.8);
                    txtHelp.setText("Nothing selected.");
                    txtStatus.setText("No example selected.");
                }
            }
        });
    }

    void itemExit_actionPerformed(ActionEvent e) {
        System.exit(0);
    }

    void itemAbout_actionPerformed(ActionEvent e) {
        JOptionPane.showMessageDialog(this,
                                      "<html><font face='Dialog'><br><b>SERVA TWaver Examples</b>" +
                                      "<br><br>" +
                                      "SERVA Software Inc.<br>" +
                                      "http://www.servasoft.com<br>" +
                                      "All right reserved.<br>" +
                                      "</font></html>",
                                      "About",
                                      JOptionPane.INFORMATION_MESSAGE,
                                      TWaverUtil.getIcon("/demo/resource/logo.png"));
    }

    void searchField_actionPerformed(ActionEvent e) {
        String text = txtSearch.getText();
        if (text == null || text.trim().equals("")) {
            return;
        } else {
            text = text.trim().toLowerCase();
            List list = new ArrayList();
            Iterator it = box.iterator(DemoNode.class);
            while (it.hasNext()) {
                Element element = (Element) it.next();
                if (element.getName().toLowerCase().indexOf(text) >= 0) {
                    list.add(element);
                }
            }
            box.getSelectionModel().setSelection(list);
        }
    }
    
    public static void main(String[] args) {
    	TWaverUtil.setLocale(TWaverConst.EN_US);
        TWaverUtil.setResourceAgent(demo.resource.DemoResourceAgent.class);
        TWaverUtil.setLookAndFeelWithDefaultFont();
        Demo ui = new Demo();
        ui.show();
    }
}

⌨️ 快捷键说明

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