⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 templatemanagerpane.java~

📁 自动生成JAVA-Struts网站的程序
💻 JAVA~
字号:
package com.sutternow.swingkar.gui;import com.gargoylesoftware.base.gui.TableLayout;import com.sutternow.swingkar.ConfigManager;import com.sutternow.templates.TemplatesDefs;import com.sutternow.templates.Listing;import javax.swing.*;import javax.swing.table.AbstractTableModel;import java.awt.event.*;import java.awt.*;import java.util.Comparator;import java.io.FileWriter;import java.io.IOException;import net.sf.easylayouts.RowLayout;import org.exolab.castor.xml.MarshalException;import org.exolab.castor.xml.ValidationException;/** * Created by IntelliJ IDEA. * User: payne * Date: Aug 22, 2003 * Time: 10:37:46 AM * To change this template use Options | File Templates. */public class TemplateManagerPane implements ActionListener, MouseListener  {    public String Title = "Bean Template Manager";    final TableLayout layout = new TableLayout();    public TemplateManagerPane(TemplatesDefs _defs)  {            this.defs = _defs;            templatePanel = this.createPanel();           /* templates.xml is expected to be at the root of a class path element */           outPath.setText(this.getClass().getResource("/templates.xml").getPath());    }    public void showEditForm() {        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();        JFrame prefFrame = new JFrame(this.Title);        prefFrame.setSize(screenSize.width/2 - 60, screenSize.height/2); //screenSize.width / 2, screenSize.height / 2, 355, 250);        Container panel = prefFrame.getContentPane();        panel.add(this.getEditForm());        prefFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);        prefFrame.show();    }    public JPanel getEditForm() {        return templatePanel;    }     private JPanel createPanel() {            final JPanel panel = new JPanel();            final JPanel topPanel = new JPanel(new TableLayout());            final JPanel bottomPanel = new JPanel();            /* rowLayout used as parent panel */            RowLayout rowLayout = new RowLayout(panel, 1, 25);            topPanel.add(new JLabel("Name:"), "1,1");            entryName = new JTextField(10);            topPanel.add(entryName, "1,2");            topPanel.add(new JLabel("Description:"), "2,1");            description = new JTextField(20);            topPanel.add(description, "2,2");            topPanel.add(new JLabel("File Suffix:"), "3,1");            fileSuffix = new JTextField(10);            topPanel.add(fileSuffix, "3,2");            topPanel.add(new JLabel("Package Branch:"), "4,1");            packageBranch = new JTextField(10);            topPanel.add(packageBranch, "4,2");             cmdAdd = new JButton("Add");             cmdAdd.addActionListener(this);             // popup menu             popmenu = new JPopupMenu();             editEntry = new JMenuItem("Edit");             editEntry.addActionListener(this);             popmenu.add(editEntry);             delEntry = new JMenuItem("Delete");             delEntry.addActionListener(this);             popmenu.add(delEntry);             topPanel.add(cmdAdd, "4,3");            qtm = new TemplateTableModel(defs);            fieldsTable = new JTable(qtm);            fieldsTable.addMouseListener(this);            JScrollPane jsp = new JScrollPane(fieldsTable);            jsp.setMinimumSize(new Dimension(130, 80));            jsp.setMaximumSize(new Dimension(450, 260));            jsp.setPreferredSize(new Dimension(450, 240));            outPath = new JTextField(20);            bottomPanel.add(outPath);            cmdSave = new JButton("Save");            cmdSave.addActionListener(this);            bottomPanel.add(cmdSave);            layout.setColumnExpandable(0, true);            layout.setColumnExpandable(1, true);            rowLayout.add(topPanel, 0);            rowLayout.add(jsp, 1);            rowLayout.add(bottomPanel, 2);            return panel;     }      public void actionPerformed(ActionEvent ae) {         Object src = ae.getSource();        if (src == cmdAdd) {            doAdd();        } else if (src==cmdSave) {            doSave();        }  else if (src == delEntry) {             int targetRow;        if (fieldsTable.getSelectedRowCount() > 0) {            targetRow = fieldsTable.getSelectedRow();            defs.getBeanTemplates().removeListing(targetRow);            qtm.requestRefresh();         }        }      }    //{{{ Mouse Listener Interface Implementation    private void handleMouseEvent(MouseEvent evt) {        if (evt.isPopupTrigger()) {            if (popmenu.isVisible()) {                popmenu.setVisible(false);            } else {                popmenu.show((Component) evt.getSource(), evt.getX(), evt.getY());            }        }    }    public void mousePressed(MouseEvent evt) {        handleMouseEvent(evt);    }    public void mouseReleased(MouseEvent evt) {        handleMouseEvent(evt);    }    public void mouseClicked(MouseEvent e) {    }    public void mouseEntered(MouseEvent e) {    }    public void mouseExited(MouseEvent e) {    }    private void doSave()  {        try {            defs.marshal(new FileWriter(outPath.getText()));        } catch (MarshalException e) {            e.printStackTrace();  //To change body of catch statement use Options | File Templates.        } catch (ValidationException e) {            e.printStackTrace();  //To change body of catch statement use Options | File Templates.        } catch (IOException e) {            e.printStackTrace();  //To change body of catch statement use Options | File Templates.        }    }    private void doAdd() {          Listing item = new Listing();          item.setDescription(description.getText());          item.setName(entryName.getText());          item.setFileSuffix(fileSuffix.getText());          item.setPackageBranch(packageBranch.getText());          defs.getBeanTemplates().addListing(item);        description.setText("");        entryName.setText("");        fileSuffix.setText("");        packageBranch.setText("");        qtm.requestRefresh();        entryName.requestFocus();    }    private JTextField description;    private JTextField entryName;    private JTextField fileSuffix;    private JTextField packageBranch;    private JTextField outPath;    private JButton cmdAdd;    private JButton cmdSave;    JPopupMenu popmenu;    JMenuItem delEntry;    JMenuItem editEntry;    private JButton addItem;    TemplatesDefs defs;    private JPanel templatePanel;    private TemplateTableModel qtm;    private JTable fieldsTable;    private ConfigManager cm;}class QuerySort implements Comparator {    public int compare(Object o1, Object o2) {        QueryBean r1 = (QueryBean) o1;        QueryBean r2 = (QueryBean) o2;        if (r2.order == null && r1.order == null) return 0;        if (r1.order == null) return -1;        if (r2.order == null) return 1;        return r2.order.compareTo(r1.order);    }}class TemplateTableModel extends AbstractTableModel {    /**     * Constructs an TemplateDef table model.     * @param _defs  the TemplateDefs     */    public TemplateTableModel(TemplatesDefs _defs) {        defs = _defs;    }    public int getRowCount() {        return defs.getBeanTemplates().getListingCount();    }    public boolean isCellEditable(int rowIndex, int columnIndex) {        return true;    }    public void requestRefresh() {        /* Used to refresh the table */        super.fireTableDataChanged();    }    public int getColumnCount() {        return 4;    }    public void setValueAt(Object aValue, int r, int c) {       Listing  listing = defs.getBeanTemplates().getListing(r);                switch (c) {                    case 0:                         listing.setName((String) aValue);                    case 1:                       listing.setDescription((String) aValue);                    case 2:                        listing.setFileSuffix((String) aValue);                    case 3:                        listing.setPackageBranch((String) aValue);                }    }    public Object getValueAt(int r, int c) {        Listing  listing = defs.getBeanTemplates().getListing(r);                switch (c) {                    case 0:                        return listing.getName();                    case 1:                        return listing.getDescription();                    case 2:                        return listing.getFileSuffix();                    case 3:                        return listing.getPackageBranch();                }        return "no value dude";    }    public String getColumnName(int c) {        switch (c) {            case 0:                return "Template Name";            case 1:                return "Description";            case 2:                return "File Suffix";            case 3:                return "Package Branch";        }        return "no value dude";    }    private TemplatesDefs defs;} //}}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -