?? buildeditpane.java
字號:
package com.sutternow.swingkar.gui;import javax.swing.*;import javax.swing.filechooser.FileFilter;import javax.swing.border.Border;import java.awt.event.*;import java.io.File;import org.dom4j.Element;import org.dom4j.DocumentHelper;import net.sf.easylayouts.*;import com.gargoylesoftware.base.gui.TableLayout;import com.sutternow.swingkar.ConfigManager;import com.sutternow.misc.*;/**//** * Created by IntelliJ IDEA. * User: Matthew Payne * Date: Jan 18, 2003 * Time: 1:01:50 AM * To change this template use Options | File Templates. */public class BuildEditPane implements ActionListener, SimpleForm { public String Title = "Build Properties"; public BuildEditPane(ConfigManager _cm) { cm = _cm; } public String getTitle() { return this.Title; } public JPanel getEditForm() { final TableLayout layout = new TableLayout(); Border etched = BorderFactory.createEtchedBorder(); final JPanel panel = new JPanel(); final JPanel topPanel = new JPanel(new TableLayout()); final JPanel bottomPanel = new JPanel(); RowLayout rowLayout = new RowLayout(panel, 1, 25); topPanel.add(new JLabel("Project Directory:"), "1,1"); directory = new JTextField(30); topPanel.add(directory, "1,2"); cmdChooseBuildDir = new JButton("Choose"); topPanel.add(cmdChooseBuildDir, "1,3"); topPanel.add(new JLabel("package:"), "2,1"); packageName = new JTextField(30); topPanel.add(packageName, "2,2"); topPanel.add(new JLabel("War filename:"), "3,1"); warFileName = new JTextField(20); topPanel.add(warFileName, "3,2"); topPanel.add(new JLabel("Compiler:"), "4,1"); compilerType = new JComboBox(); compilerType.addItem("Modern"); topPanel.add(compilerType, "4,2"); topPanel.add(new JLabel("Servlet Container Name"), "5,1"); containerName = new JTextField(20); topPanel.add(containerName, "5,2"); topPanel.add(new JLabel("Servlet Container Dir"), "6,1"); containerDir = new JTextField(30); topPanel.add(containerDir, "6,2"); cmdChooseContDir = new JButton("Choose"); cmdChooseContDir.addActionListener(this); cmdChooseBuildDir.addActionListener(this); topPanel.add(new JLabel("Date Format"), "7,1"); dateFormat = new JTextField(10); topPanel.add(dateFormat, "7,2"); topPanel.add(new JLabel("URL Pattern"), "8,1"); urlPattern = new JTextField(15); topPanel.add(urlPattern, "8,2"); /* cmdSave = new JButton("Save"); cmdCancel = new JButton("Cancel"); cmdSave.addActionListener(this); cmdCancel.addActionListener(this); bottomPanel.add(cmdSave); bottomPanel.add(cmdCancel);*/ layout.setColumnExpandable(0, true); layout.setColumnExpandable(1, true); rowLayout.add(topPanel, 0); rowLayout.add(bottomPanel, 1); return panel; } public void setValues(Element buildCfg) { this.clearForm(); String relPath = buildCfg.getUniquePath(); buildProps = buildCfg; //element.elementText("code") directory.setText(buildCfg.valueOf(relPath + "/directory")); packageName.setText(Utils.parseNull(buildCfg.valueOf(relPath + "/package"))); warFileName.setText(Utils.parseNull(buildCfg.valueOf(relPath + "/war-file-name"))); containerName.setText(buildCfg.valueOf(relPath + "/servlet-container-name")); containerDir.setText(buildCfg.valueOf(relPath + "/servlet-container-dir")); dateFormat.setText(buildCfg.valueOf(relPath + "/date-format")); urlPattern.setText(buildCfg.valueOf(relPath + "/url-pattern")); } private Element makeResponse() { Element e = DocumentHelper.createElement("build"); e.addElement("directory").addText(directory.getText()); e.addElement("package").addText(packageName.getText()); e.addElement("war-file-name").addText(warFileName.getText()); e.addElement("compiler").addText(compilerType.getSelectedItem().toString()); e.addElement("servlet-container-name").addText(containerName.getText()); e.addElement("servlet-container-dir").addText(containerDir.getText()); e.addElement("date-format").addText(dateFormat.getText()); e.addElement("url-pattern").addText(urlPattern.getText()); return e; } public void actionPerformed(ActionEvent ae) { JButton src = (JButton) ae.getSource(); if (src == cmdChooseBuildDir) { doChoose(); } } private void clearForm() { directory.setText(""); warFileName.setText(""); packageName.setText(""); } private String doChoose() { // @done mask file selection for only .xml files JFileChooser chooser = new JFileChooser(); chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); chooser.setFileFilter(new FileFilter() { public String getDescription() { return "Directorys"; } public boolean accept(File f) { if (f.isDirectory()) { return true; } String ext = getExtension(f); if (ext != null) { if (ext.equals("xml")) return true; } return false; } public String getExtension(File f) { String ext = null; String s = f.getName(); int i = s.lastIndexOf('.'); if (i > 0 && i < s.length() - 1) { ext = s.substring(i + 1).toLowerCase(); } return ext; } }); // end of inner class file filter if (chooser.showDialog(null, "Select file") != JFileChooser.APPROVE_OPTION) { return null; } String filename = Utils.replaceString(chooser.getSelectedFile().getPath(), "\\", "/"); directory.setText(filename); return filename; } public void doSave() { buildProps.element("directory").setText(directory.getText()); buildProps.element("package").setText(packageName.getText()); buildProps.element("war-file-name").setText(warFileName.getText()); buildProps.element("compiler").setText(compilerType.getSelectedItem().toString()); buildProps.element("servlet-container-name").setText(containerName.getText()); buildProps.element("servlet-container-dir").setText(containerDir.getText()); buildProps.element("date-format").setText(dateFormat.getText()); Dom4jHelper.setElement(buildProps, "url-pattern",urlPattern.getText()); System.out.println(this.Title + " Saved"); //cm.saveBuildConfig(this.makeResponse()); } ConfigManager cm; private JTextField directory; private JTextField packageName; private JTextField warFileName; private JComboBox compilerType; private JTextField containerDir; private JTextField containerName; private JTextField dateFormat; private JTextField urlPattern; private JButton cmdChooseBuildDir; private JButton cmdChooseContDir; private Element buildProps;}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -