📄 indicatorpanel.java
字号:
/*
* @(#)PertPanel.java 1.0 2006-07-15
*
* Copyright (c) 1996-2006 by the original authors of JHotDraw
* and all its contributors ("JHotDraw.org")
* All rights reserved.
*
* This software is the confidential and proprietary information of
* JHotDraw.org ("Confidential Information"). You shall not disclose
* such Confidential Information and shall use it only in accordance
* with the terms of the license agreement you entered into with
* JHotDraw.org.
*/
package org.yccheok.jstock.gui;
import java.util.concurrent.ExecutionException;
import org.jhotdraw.undo.*;
import org.jhotdraw.util.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.event.*;
import org.jhotdraw.app.action.*;
import org.jhotdraw.draw.*;
import org.jhotdraw.draw.action.*;
import org.jhotdraw.gui.*;
import javax.swing.event.*;
import org.yccheok.jstock.engine.*;
import org.yccheok.jstock.analysis.*;
import com.thoughtworks.xstream.*;
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
* PertPanel.
*
* @author Werner Randelshofer
* @version 1.0 2006-07-15 Created.
*/
public class IndicatorPanel extends JPanel implements ChangeListener {
private DrawingEditor editor;
/** Creates new instance. */
public IndicatorPanel() {
ResourceBundleUtil labels = ResourceBundleUtil.getLAFBundle("org.jhotdraw.draw.Labels");
initComponents();
editor = new DefaultDrawingEditor();
editor.add(view);
addCreationButtonsTo(creationToolbar, editor);
JPopupButton pb = new JPopupButton();
pb.setItemFont(UIManager.getFont("MenuItem.font"));
labels.configureToolBarButton(pb, "actions");
pb.add(new GroupAction(editor));
pb.add(new UngroupAction(editor));
pb.addSeparator();
pb.add(new MoveToFrontAction(editor));
pb.add(new MoveToBackAction(editor));
pb.addSeparator();
pb.add(new SelectAllAction());
pb.add(new SelectSameAction(editor));
pb.addSeparator();
pb.add(new ToggleGridAction(editor));
JMenu m = new JMenu(labels.getString("zoom"));
JRadioButtonMenuItem rbmi;
ButtonGroup group = new ButtonGroup();
m.add(rbmi = new JRadioButtonMenuItem(new ZoomAction(editor, 0.1, null)));
group.add(rbmi);
m.add(rbmi = new JRadioButtonMenuItem(new ZoomAction(editor, 0.25, null)));
group.add(rbmi);
m.add(rbmi = new JRadioButtonMenuItem(new ZoomAction(editor, 0.5, null)));
group.add(rbmi);
m.add(rbmi = new JRadioButtonMenuItem(new ZoomAction(editor, 0.75, null)));
group.add(rbmi);
m.add(rbmi = new JRadioButtonMenuItem(new ZoomAction(editor, 1.0, null)));
rbmi.setSelected(true);
group.add(rbmi);
m.add(rbmi = new JRadioButtonMenuItem(new ZoomAction(editor, 1.25, null)));
group.add(rbmi);
m.add(rbmi = new JRadioButtonMenuItem(new ZoomAction(editor, 1.5, null)));
group.add(rbmi);
m.add(rbmi = new JRadioButtonMenuItem(new ZoomAction(editor, 2, null)));
group.add(rbmi);
m.add(rbmi = new JRadioButtonMenuItem(new ZoomAction(editor, 3, null)));
group.add(rbmi);
m.add(rbmi = new JRadioButtonMenuItem(new ZoomAction(editor, 4, null)));
group.add(rbmi);
pb.add(m);
pb.setFocusable(false);
creationToolbar.addSeparator();
creationToolbar.add(pb);
view.setDrawing(createDrawing());
stockTask = null;
initIndicatorProjectManager();
}
/**
* Creates a new Drawing for this Project.
*/
private Drawing createDrawing() {
DefaultDrawing drawing = new IndicatorDefaultDrawing();
return drawing;
}
public void setDrawing(Drawing d) {
view.setDrawing(d);
}
public Drawing getDrawing() {
return view.getDrawing();
}
public DrawingView getView() {
return view;
}
public DrawingEditor getEditor() {
return editor;
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
java.awt.GridBagConstraints gridBagConstraints;
toolButtonGroup = new javax.swing.ButtonGroup();
jSplitPane1 = new javax.swing.JSplitPane();
jPanel4 = new javax.swing.JPanel();
scrollPane = new javax.swing.JScrollPane();
view = new org.jhotdraw.draw.DefaultDrawingView();
jPanel1 = new javax.swing.JPanel();
creationToolbar = new javax.swing.JToolBar();
jSplitPane2 = new javax.swing.JSplitPane();
jPanel2 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
jList1 = new javax.swing.JList();
jPanel3 = new javax.swing.JPanel();
jPanel8 = new javax.swing.JPanel();
jButton1 = new javax.swing.JButton();
jButton5 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jPanel9 = new javax.swing.JPanel();
jButton3 = new javax.swing.JButton();
jPanel5 = new javax.swing.JPanel();
jPanel6 = new javax.swing.JPanel();
jButton4 = new javax.swing.JButton();
jButton6 = new javax.swing.JButton();
jPanel7 = new javax.swing.JPanel();
jComboBox1 = new AutoCompleteJComboBox();
objectInspectorJPanel = new ObjectInspectorJPanel(new MutableStock(Utils.getEmptyStock(Code.newInstance(""), Symbol.newInstance(""))));
setLayout(new java.awt.BorderLayout());
// Priority give to left component.
jSplitPane1.setResizeWeight(1.0);
jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder("Stock Indicator"));
jPanel4.setLayout(new java.awt.BorderLayout(5, 5));
scrollPane.setViewportView(view);
jPanel4.add(scrollPane, java.awt.BorderLayout.CENTER);
jPanel1.setLayout(new java.awt.GridBagLayout());
creationToolbar.setFloatable(false);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
jPanel1.add(creationToolbar, gridBagConstraints);
jPanel4.add(jPanel1, java.awt.BorderLayout.SOUTH);
jSplitPane1.setLeftComponent(jPanel4);
jSplitPane2.setDividerLocation(300);
jSplitPane2.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT);
jSplitPane2.setPreferredSize(new java.awt.Dimension(150, 368));
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Database"));
jPanel2.setLayout(new java.awt.BorderLayout(5, 5));
jList1.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
this.jList1.setModel(new DefaultListModel());
jList1.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
public void valueChanged(javax.swing.event.ListSelectionEvent evt) {
jList1ValueChanged(evt);
}
});
jScrollPane1.setViewportView(jList1);
jPanel2.add(jScrollPane1, java.awt.BorderLayout.CENTER);
jPanel3.setBorder(javax.swing.BorderFactory.createEmptyBorder(5, 0, 5, 5));
jPanel3.setLayout(new java.awt.GridLayout(2, 1));
jPanel8.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.RIGHT));
jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/16x16/filenew.png"))); // NOI18N
jButton1.setText("New...");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jPanel8.add(jButton1);
jButton5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/16x16/filesave.png"))); // NOI18N
jButton5.setText("Save");
jButton5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton5ActionPerformed(evt);
}
});
jPanel8.add(jButton5);
jButton2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/16x16/edit.png"))); // NOI18N
jButton2.setText("Rename...");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jPanel8.add(jButton2);
jPanel3.add(jPanel8);
jPanel9.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.RIGHT));
jButton3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/16x16/editdelete.png"))); // NOI18N
jButton3.setText("Delete");
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton3ActionPerformed(evt);
}
});
jPanel9.add(jButton3);
jPanel3.add(jPanel9);
jPanel2.add(jPanel3, java.awt.BorderLayout.SOUTH);
jSplitPane2.setTopComponent(jPanel2);
jPanel5.setBorder(javax.swing.BorderFactory.createTitledBorder("Stock Sample Data"));
jPanel5.setLayout(new java.awt.BorderLayout(5, 5));
jButton4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/16x16/player_play.png"))); // NOI18N
jButton4.setText("Simulate");
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton4ActionPerformed(evt);
}
});
jPanel6.add(jButton4);
jButton6.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/16x16/stop.png"))); // NOI18N
jButton6.setText("Stop");
jButton6.setEnabled(false);
jButton6.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton6ActionPerformed(evt);
}
});
jPanel6.add(jButton6);
jPanel5.add(jPanel6, java.awt.BorderLayout.SOUTH);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -