?? demo.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 + -