advancedpanel.java
来自「tinyos最新版」· Java 代码 · 共 178 行
JAVA
178 行
// $Id: AdvancedPanel.java,v 1.1 2004/03/22 02:15:48 scipio Exp $/* tab:4 * "Copyright (c) 2000-2003 The Regents of the University of California. * All rights reserved. * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose, without fee, and without written agreement is * hereby granted, provided that the above copyright notice, the following * two paragraphs and the author appear in all copies of this software. * * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS." * * Copyright (c) 2002-2003 Intel Corporation * All rights reserved. * * This file is distributed under the terms in the attached INTEL-LICENSE * file. If you do not find these files, copies can be found by writing to * Intel Research Berkeley, 2150 Shattuck Avenue, Suite 1300, Berkeley, CA, * 94704. Attention: Intel License Inquiry. *//* Authors: Phil Levis <pal@cs.berkeley.edu> * Date: Sep 26 2003 * Desc: Main window for VM builder * *//** * @author Phil Levis <pal@cs.berkeley.edu> */package net.tinyos.script;import java.awt.*;import java.awt.event.*;import java.awt.font.*;import java.io.*;import java.net.*;import java.util.*;import javax.swing.*;import javax.swing.border.*;import net.tinyos.message.*;import net.tinyos.packet.*;import net.tinyos.util.*;public class AdvancedPanel extends JPanel implements VMOptions { private JLabel placeholder; private Vector options; private OptionField opStack, rStack, buffer, packet, grain; private Vector paths; public AdvancedPanel() { super(); setLayout(new BoxLayout(this, BoxLayout.X_AXIS)); options = new Vector(); add(basicGroup()); add(propagateGroup()); paths = new Vector(); setAlignmentY((float)1.0); } private void addOption(JPanel panel, OptionField field) { options.add(field); panel.add(field); } public static void main(String[] args) { JFrame frame = new JFrame(); AdvancedPanel p = new AdvancedPanel(); frame.getContentPane().add(p); frame.pack(); frame.setVisible(true); } public JPanel basicGroup() { JPanel panel = new JPanel(); JLabel label = new JLabel("Locks"); opStack = new OptionField("OpStack Depth"); opStack.setText("16"); rStack = new OptionField("RStack Depth"); rStack.setText("8"); buffer = new OptionField("Buffer Size"); buffer.setText("10"); packet = new OptionField("Program Size"); packet.setText("24"); grain = new OptionField("Exec Grain"); panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); panel.add(label); addOption(panel, opStack); addOption(panel, rStack); addOption(panel, buffer); addOption(panel, packet); addOption(panel, grain); panel.setAlignmentY((float)0.0); return panel; } public JPanel propagateGroup() { JPanel panel = new JPanel(); ButtonGroup g = new ButtonGroup(); JRadioButton none = new JRadioButton("Steady-Rate"); JRadioButton opt = new JRadioButton("Density-Adaptive "); JLabel label = new JLabel("Propagation"); g.add(none); g.add(opt); panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); panel.add(label); panel.add(none); panel.add(opt); panel.setAlignmentY((float)0.0); return panel; } public void addSearchPath(String path) { paths.addElement(path); } public String getOpDepth() { return opStack.getValue(); } public String getCallDepth() { return rStack.getValue(); } public String getBufLen() { return buffer.getValue(); } public String getProgramSize() { return packet.getValue(); } public Enumeration getSearchPaths() { return paths.elements(); } private class OptionField extends JPanel { private JLabel label; private JTextField field; public OptionField(String name) { super(); setLayout(new BoxLayout(this, BoxLayout.X_AXIS)); label = new JLabel(name); label.setAlignmentX((float)1.0); add(label); field = new JTextField(4); field.setAlignmentX((float)0.0); add(field); } public void setText(String text) { field.setText(text); } protected String getValue() { return field.getText(); } }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?