📄 octopusloaderpanel.java
字号:
package org.webdocwf.util.loader.wizard;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.io.*;
import java.util.*;
public class OctopusLoaderPanel
extends JPanel {
private static final String LOG_MODE = " Log mode",
RESTART_INDICATOR = " Restart indicator",
USER_ID = " User Id",
VARIABLES = " Variables",
LOG_FILE_DIRECTORY = " Log file directory",
LOG_FILE_NAME = " Log file name",
VENDOR_CONF_FILE = " Specific vendor conf file",
ON_ERRORCONTINUE = " On error continue",
ADDITIONAL_CLASSPATH = " Aditional classpath",
COMMIT_COUNT = " Comit count",
RETURN_CODE = " Return code",
PATH_TO_XML_FILE = " Path to loaderJob.olj file",
INCLUDE_TABLES = " Include List",
PATH_TO_CONF_JAR = " Path to conf files in jar";
//dimensions
// private static Dimension bigButton = new Dimension(110, 25);
// private static Dimension smallComponent = new Dimension(150, 20);
// private static Dimension bigComponent = new Dimension(400, 20);
// private static Dimension veryBigComponent = new Dimension(650, 20);
// private static Dimension veryBigPlusButton = new Dimension(630, 20);
// private static Dimension panelComponenet = new Dimension(720, 40);
JSplitPane main;
Border loweredBorder = BorderFactory.createEtchedBorder(EtchedBorder.LOWERED);
Border raisedBorder = BorderFactory.createEtchedBorder(EtchedBorder.RAISED);
Border bevelBorder = BorderFactory.createLoweredBevelBorder();
// private OctopusProjectFrame parent;
private JPanel commonPanel;
private OctopusLoaderData initData;
private HashMap fields;
private JTextArea traceArea;
private JTextField additionalPath;
public OctopusLoaderPanel() {
// this.parent = parent;
fields = new HashMap();
//generatorOptions
// JPanel loaderOptionsUp = new JPanel();
// JPanel loaderOptionsDown = new JPanel();
//generator input data
JTabbedPane octopusLoaderData = new JTabbedPane();
commonPanel = new JPanel();
commonPanel.setLayout(new BoxLayout(commonPanel, BoxLayout.Y_AXIS));
octopusLoaderData.addTab("Input Parameters", commonPanel);
// loaderOptionsUp.setLayout(new BoxLayout(loaderOptionsUp, BoxLayout.Y_AXIS));
// loaderOptionsUp.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));
// JButton help = createOctopusButton("Help", bigButton);
// help.setAction(new OctopusHelpAction());
// loaderOptionsUp.add(help);
//generatorOptionsDown panel
// loaderOptionsDown.setLayout(new BoxLayout(loaderOptionsDown, BoxLayout.Y_AXIS));
// loaderOptionsDown.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));
// JButton start = createOctopusButton("Start", bigButton);
// start.setAction(new StartOctopusLoader());
// JButton stop = createOctopusButton("Stop", bigButton);
// stop.setAction(new StopOctopusLoader());
// JButton save = createOctopusButton("Save", bigButton);
// save.setAction(new SaveProjectAction());
// loaderOptionsDown.add(Box.createRigidArea(new Dimension(0,5)));
// loaderOptionsDown.add(start);
// loaderOptionsDown.add(Box.createRigidArea(new Dimension(0,5)));
// loaderOptionsDown.add(stop);
// loaderOptionsDown.add(Box.createRigidArea(new Dimension(0,5)));
// loaderOptionsDown.add(save);
// loaderOptionsDown.add(Box.createRigidArea(new Dimension(0,15)));
// loaderOptionsDown.add(help);
//generatorOptions
// JSplitPane generatorOptions = new JSplitPane(JSplitPane.VERTICAL_SPLIT, true,
// loaderOptionsUp, loaderOptionsDown);
// generatorOptions.setOneTouchExpandable(true);
// generatorOptions.setDividerLocation(0);
//log mode
JLabel strLogMode = OctopusProjectFrame.createOctopusLabel(LOG_MODE, OctopusGeneratorPanel.smallComponent);
JComboBox logMode = OctopusProjectFrame.createOctopusCombobox(LOG_MODE, OctopusGeneratorPanel.veryBigComponent);
//restart indicator
JLabel strRestartIndicator = OctopusProjectFrame.createOctopusLabel(RESTART_INDICATOR, OctopusGeneratorPanel.smallComponent);
JTextField restartIndicator = OctopusProjectFrame.createOctopusTextField(RESTART_INDICATOR, OctopusGeneratorPanel.veryBigComponent);
//user id
JLabel strUserId = OctopusProjectFrame.createOctopusLabel(USER_ID, OctopusGeneratorPanel.smallComponent);
JTextField userId = OctopusProjectFrame.createOctopusTextField(USER_ID, OctopusGeneratorPanel.veryBigComponent);
//variables
JLabel strVariables = OctopusProjectFrame.createOctopusLabel(VARIABLES, OctopusGeneratorPanel.smallComponent);
JTextField variables = OctopusProjectFrame.createOctopusTextField(VARIABLES, OctopusGeneratorPanel.veryBigComponent);
//log file directory
JLabel strLogFileDir = OctopusProjectFrame.createOctopusLabel(LOG_FILE_DIRECTORY, OctopusGeneratorPanel.smallComponent);
JTextField logFileDir = OctopusProjectFrame.createOctopusTextField(LOG_FILE_DIRECTORY, OctopusGeneratorPanel.veryBigPlusButton);
JButton logDirButton = OctopusProjectFrame.createOctopusButton("", new Dimension(20, 20));
logDirButton.setAction(new BrowseAction_LD());
//log file name
JLabel strLogFileName = OctopusProjectFrame.createOctopusLabel(LOG_FILE_NAME, OctopusGeneratorPanel.smallComponent);
JTextField logFileName = OctopusProjectFrame.createOctopusTextField(LOG_FILE_NAME, OctopusGeneratorPanel.veryBigComponent);
//specific vendor conf file
JLabel strSpecVendorConf = OctopusProjectFrame.createOctopusLabel(VENDOR_CONF_FILE, OctopusGeneratorPanel.smallComponent);
JTextField specVendorConf = OctopusProjectFrame.createOctopusTextField(VENDOR_CONF_FILE, OctopusGeneratorPanel.veryBigPlusButton);
JButton specVendorButton = OctopusProjectFrame.createOctopusButton("", new Dimension(20, 20));
specVendorButton.setAction(new BrowseAction_XML());
//on error continue
JLabel strOnError = OctopusProjectFrame.createOctopusLabel(ON_ERRORCONTINUE, OctopusGeneratorPanel.smallComponent);
JTextField onError = OctopusProjectFrame.createOctopusTextField(ON_ERRORCONTINUE, OctopusGeneratorPanel.veryBigComponent);
//commit count
JLabel strCommitCount = OctopusProjectFrame.createOctopusLabel(COMMIT_COUNT, OctopusGeneratorPanel.smallComponent);
JTextField commitCount = OctopusProjectFrame.createOctopusTextField(COMMIT_COUNT, OctopusGeneratorPanel.veryBigComponent);
//return code
JLabel strReturnCode = OctopusProjectFrame.createOctopusLabel(RETURN_CODE, OctopusGeneratorPanel.smallComponent);
JTextField returnCode = OctopusProjectFrame.createOctopusTextField(RETURN_CODE, OctopusGeneratorPanel.veryBigComponent);
//pathe to olj file
JLabel strPathToOlj = OctopusProjectFrame.createOctopusLabel(PATH_TO_XML_FILE, OctopusGeneratorPanel.smallComponent);
JTextField pathToOlj = OctopusProjectFrame.createOctopusTextField(PATH_TO_XML_FILE, OctopusGeneratorPanel.veryBigPlusButton);
JButton pathToOljButton = OctopusProjectFrame.createOctopusButton("", new Dimension(20, 20));
pathToOljButton.setAction(new BrowseAction_OLJ());
//include list
JLabel strIncludeList = OctopusProjectFrame.createOctopusLabel(INCLUDE_TABLES, OctopusGeneratorPanel.smallComponent);
JTextField includeList = OctopusProjectFrame.createOctopusTextField(INCLUDE_TABLES, OctopusGeneratorPanel.veryBigComponent);
//path to conf files in jar file
JLabel strPathToConf = OctopusProjectFrame.createOctopusLabel(PATH_TO_CONF_JAR, OctopusGeneratorPanel.smallComponent);
JTextField pathToConf = OctopusProjectFrame.createOctopusTextField(PATH_TO_CONF_JAR, OctopusGeneratorPanel.veryBigComponent);
//additional classpaths
JLabel strAdditionalPath = OctopusProjectFrame.createOctopusLabel(ADDITIONAL_CLASSPATH, OctopusGeneratorPanel.smallComponent);
additionalPath = OctopusProjectFrame.createOctopusTextField(ADDITIONAL_CLASSPATH, OctopusGeneratorPanel.veryBigPlusButton);
JButton additionalPathButton = OctopusProjectFrame.createOctopusButton("", new Dimension(20, 20));
additionalPathButton.setAction(new BrowseAction_AC());
JPanel inputParamPanelLabel = new JPanel();
inputParamPanelLabel.setLayout(new BoxLayout(inputParamPanelLabel, BoxLayout.Y_AXIS));
JPanel inputParamPanelField = new JPanel();
inputParamPanelField.setLayout(new BoxLayout(inputParamPanelField, BoxLayout.Y_AXIS));
commonPanel.add(Box.createRigidArea(new Dimension(0, 15)));
createRow(strLogMode, logMode, null);
fields.put(LOG_MODE, logMode);
createRow(strRestartIndicator, restartIndicator, null);
fields.put(RESTART_INDICATOR, restartIndicator);
createRow(strUserId, userId, null);
fields.put(USER_ID, userId);
createRow(strVariables, variables, null);
fields.put(VARIABLES, variables);
createRow(strLogFileDir, logFileDir, logDirButton);
fields.put(LOG_FILE_DIRECTORY, logFileDir);
createRow(strLogFileName, logFileName, null);
fields.put(LOG_FILE_NAME, logFileName);
createRow(strSpecVendorConf, specVendorConf, specVendorButton);
fields.put(VENDOR_CONF_FILE, specVendorConf);
createRow(strOnError, onError, null);
fields.put(ON_ERRORCONTINUE, onError);
createRow(strCommitCount, commitCount, null);
fields.put(COMMIT_COUNT, commitCount);
createRow(strReturnCode, returnCode, null);
fields.put(RETURN_CODE, returnCode);
createRow(strPathToOlj, pathToOlj, pathToOljButton);
fields.put(PATH_TO_XML_FILE, pathToOlj);
createRow(strIncludeList, includeList, null);
fields.put(INCLUDE_TABLES, includeList);
createRow(strPathToConf, pathToConf, null);
fields.put(PATH_TO_CONF_JAR, pathToConf);
createRow(strAdditionalPath, additionalPath, additionalPathButton);
fields.put(ADDITIONAL_CLASSPATH, additionalPath);
// JSplitPane generatorInputData = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true,
// generatorOptions, octopusLoaderData);
// JSplitPane generatorInputData = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true,
// new JPanel(), octopusLoaderData);
// output panel
JPanel textAreaPanel = new JPanel();
textAreaPanel.setLayout(new BoxLayout(textAreaPanel, BoxLayout.X_AXIS));
JPanel areaOptionPanel = new JPanel();
areaOptionPanel.setLayout(new BoxLayout(areaOptionPanel, BoxLayout.Y_AXIS));
traceArea = new JTextArea(18, 130);
traceArea.setLineWrap(true);
traceArea.setEditable(false);
traceArea.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.RAISED));
JScrollPane scrollPane = new JScrollPane(traceArea,
ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
scrollPane.setBorder(setTitleOfBorder("Log Octopus Loader output ... ", loweredBorder));
JButton fullScreen = OctopusProjectFrame.createOctopusButton("Full Screen", new Dimension(25, 25));
fullScreen.setAction(new FullScreenAction());
JButton normalScreen = OctopusProjectFrame.createOctopusButton("Normal Screen", new Dimension(25, 25));
normalScreen.setAction(new NormalScreenAction());
JButton saveScreen = OctopusProjectFrame.createOctopusButton("Save Trace", new Dimension(25, 25));
saveScreen.setAction(new SaveTraceAction());
JButton clearTrace = OctopusProjectFrame.createOctopusButton("Clear Trace", new Dimension(25, 25));
clearTrace.setAction(new ClearTraceAction());
areaOptionPanel.add(fullScreen);
areaOptionPanel.add(normalScreen);
areaOptionPanel.add(saveScreen);
areaOptionPanel.add(clearTrace);
areaOptionPanel.add(Box.createVerticalGlue());
areaOptionPanel.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));
// JPanel areaOptionMainPanel = new JPanel(new BorderLayout());
// areaOptionMainPanel.add(areaOptionPanel, BorderLayout.PAGE_START);
textAreaPanel.add(areaOptionPanel);
textAreaPanel.add(scrollPane);
// main = new JSplitPane(JSplitPane.VERTICAL_SPLIT, true, generatorInputData,
// textAreaPanel);
main = new JSplitPane(JSplitPane.VERTICAL_SPLIT, true, octopusLoaderData,
textAreaPanel);
main.setOneTouchExpandable(true);
// main.setDividerLocation(450);
// Container container = getContentPane();
setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
add(main);
setBounds(0, 0, 970, 480);
}
public JTextArea getTraceArea() {
return this.traceArea;
}
private void createRow(JLabel label, JComponent component, JButton button) {
JPanel jp = new JPanel();
jp.setLayout(new BoxLayout(jp, BoxLayout.X_AXIS));
jp.add(label);
jp.add(component);
if(button != null)
jp.add(button);
jp.add(Box.createHorizontalGlue());
commonPanel.add(jp);
}
private Border setTitleOfBorder(String title, Border border) {
Border inb = BorderFactory.createTitledBorder(border, title);
return inb;
}
// private JButton createOctopusButton(String componentName, Dimension dimension) {
//
// JButton button = new JButton();
// if(!componentName.equalsIgnoreCase(""))
// button.setText(componentName);
//
// button.setAlignmentX(Component.LEFT_ALIGNMENT);
// button.setAlignmentY(Component.CENTER_ALIGNMENT);
// button.setMinimumSize(new Dimension(dimension));
// button.setMaximumSize(new Dimension(dimension));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -