connectionsdialog.java

来自「优秀的打印控件全源代码,类似水晶表的设计器!」· Java 代码 · 共 334 行

JAVA
334
字号
/* * ValuesDialog.java * * iReport  --  Visual designer for generating JasperReports Documents *  Copyright (C) 2002-2003  Giulio Toffoli gt@businesslogic.it * *  This program is free software; you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation; either version 2 of the License, or *  (at your option) any later version. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with this program; if not, write to the Free Software *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * *  Giulio Toffoli *  Via T.Aspetti, 233 *  35100 Padova ITALY *  gt@businesslogic.it * * * Created on 7 maggio 2003, 23.43 */package it.businesslogic.ireport.gui;import javax.swing.table.*;import javax.swing.*;import javax.swing.event.*;import it.businesslogic.ireport.*;import it.businesslogic.ireport.util.Misc;import java.util.*;import org.apache.xerces.parsers.DOMParser;import org.w3c.dom.*;import org.xml.sax.SAXException;/** * * @author  Administrator */public class ConnectionsDialog extends javax.swing.JDialog {        /** Creates new form ValuesDialog */    public ConnectionsDialog(java.awt.Frame parent, boolean modal) {        super(parent, modal);        initComponents();        this.setSize(490, 250);        //DefaultTableColumnModel dtcm = (DefaultTableColumnModel)jTableParameters.getColumnModel();        //DefaultTableCellRenderer tcr = (DefaultTableCellRenderer)dtcm.getColumn(0).getHeaderRenderer();                //new DefaultTableCellRenderer();        //tcr.setFont(jTableParameters.getFont());        //tcr.setBackground(this.getBackground());        //tcr.setBorder( new javax.swing.border.BevelBorder( javax.swing.border.BevelBorder.RAISED));        //dtcm.getColumn(0).setHeaderRenderer(tcr);         DefaultListSelectionModel dlsm =  (DefaultListSelectionModel)this.jTableParameters.getSelectionModel();        dlsm.addListSelectionListener(new javax.swing.event.ListSelectionListener() {            public void valueChanged(ListSelectionEvent e)  {                jTableParametersListSelectionValueChanged(e);            }        });                              // Open in center...        it.businesslogic.ireport.util.Misc.centerFrame(this);                DefaultTableModel dtm = (DefaultTableModel)jTableParameters.getModel();                    Enumeration e = ((MainFrame)parent).getConnections().elements();        while (e.hasMoreElements())        {            IReportConnection con = (IReportConnection)e.nextElement();            dtm.addRow( new Object[]{con, con.getDescription() });        }    }            public void jTableParametersListSelectionValueChanged(javax.swing.event.ListSelectionEvent e)    {         if (this.jTableParameters.getSelectedRowCount() > 0) {            this.jButtonModifyParameter.setEnabled(true);            this.jButtonDeleteParameter.setEnabled(true);        }        else {            this.jButtonModifyParameter.setEnabled(false);            this.jButtonDeleteParameter.setEnabled(false);        }    }                /** 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.     */        private void initComponents() {//GEN-BEGIN:initComponents                java.awt.GridBagConstraints gridBagConstraints;                jPanelParameters = new javax.swing.JPanel();                jScrollPane1 = new javax.swing.JScrollPane();                jTableParameters = new javax.swing.JTable();                jPanelButtons = new javax.swing.JPanel();                jButtonNewParameter = new javax.swing.JButton();                jButtonModifyParameter = new javax.swing.JButton();                jButtonDeleteParameter = new javax.swing.JButton();                setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);                setTitle("Connections / Datasources");                addWindowListener(new java.awt.event.WindowAdapter() {                        public void windowClosing(java.awt.event.WindowEvent evt) {                                closeDialog(evt);                        }                });                jPanelParameters.setLayout(new java.awt.BorderLayout(2, 2));                jScrollPane1.setBackground(new java.awt.Color(255, 255, 255));                jScrollPane1.setFont(new java.awt.Font("Dialog", 0, 11));                jTableParameters.setFont(new java.awt.Font("Dialog", 0, 11));                jTableParameters.setModel(new javax.swing.table.DefaultTableModel(                        new Object [][] {                        },                        new String [] {                                "Name", "Datasource type"                        }                ) {                        boolean[] canEdit = new boolean [] {                                false, false                        };                        public boolean isCellEditable(int rowIndex, int columnIndex) {                                return canEdit [columnIndex];                        }                });                jScrollPane1.setViewportView(jTableParameters);                jPanelParameters.add(jScrollPane1, java.awt.BorderLayout.CENTER);                jPanelButtons.setLayout(new java.awt.GridBagLayout());                jPanelButtons.setPreferredSize(new java.awt.Dimension(100, 10));                jPanelButtons.setMinimumSize(new java.awt.Dimension(100, 10));                jButtonNewParameter.setFont(new java.awt.Font("Dialog", 0, 11));                jButtonNewParameter.setText("New");                jButtonNewParameter.addActionListener(new java.awt.event.ActionListener() {                        public void actionPerformed(java.awt.event.ActionEvent evt) {                                jButtonNewParameterActionPerformed(evt);                        }                });                gridBagConstraints = new java.awt.GridBagConstraints();                gridBagConstraints.gridx = 0;                gridBagConstraints.gridy = 0;                gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;                gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);                gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;                jPanelButtons.add(jButtonNewParameter, gridBagConstraints);                jButtonModifyParameter.setFont(new java.awt.Font("Dialog", 0, 11));                jButtonModifyParameter.setText("Modify");                jButtonModifyParameter.setEnabled(false);                jButtonModifyParameter.addActionListener(new java.awt.event.ActionListener() {                        public void actionPerformed(java.awt.event.ActionEvent evt) {                                jButtonModifyParameterActionPerformed(evt);                        }                });                gridBagConstraints = new java.awt.GridBagConstraints();                gridBagConstraints.gridx = 0;                gridBagConstraints.gridy = 1;                gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;                gridBagConstraints.insets = new java.awt.Insets(0, 3, 5, 3);                gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;                jPanelButtons.add(jButtonModifyParameter, gridBagConstraints);                jButtonDeleteParameter.setFont(new java.awt.Font("Dialog", 0, 11));                jButtonDeleteParameter.setText("Delete");                jButtonDeleteParameter.setEnabled(false);                jButtonDeleteParameter.addActionListener(new java.awt.event.ActionListener() {                        public void actionPerformed(java.awt.event.ActionEvent evt) {                                jButtonDeleteParameterActionPerformed(evt);                        }                });                gridBagConstraints = new java.awt.GridBagConstraints();                gridBagConstraints.gridx = 0;                gridBagConstraints.gridy = 2;                gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;                gridBagConstraints.insets = new java.awt.Insets(0, 3, 5, 3);                gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;                gridBagConstraints.weightx = 1.0;                gridBagConstraints.weighty = 1.0;                jPanelButtons.add(jButtonDeleteParameter, gridBagConstraints);                jPanelParameters.add(jPanelButtons, java.awt.BorderLayout.EAST);                getContentPane().add(jPanelParameters, java.awt.BorderLayout.CENTER);                pack();        }//GEN-END:initComponents    private void jButtonDeleteParameterActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonDeleteParameterActionPerformed        // Get the selected connection...        if (jTableParameters.getSelectedRowCount() > 0)        {            IReportConnection irc = null;            try {                irc = (IReportConnection)jTableParameters.getModel().getValueAt(jTableParameters.getSelectedRow(), 0);            } catch (Exception ex) { return; }                                    if ( MainFrame.getMainInstance().getProperties().get( "DefaultConnection") == irc)            {                MainFrame.getMainInstance().getProperties().remove("DefaultConnection");            }                        MainFrame.getMainInstance().getConnections().removeElement(irc);            MainFrame.getMainInstance().saveiReportConfiguration();            ((DefaultTableModel)jTableParameters.getModel()).removeRow(jTableParameters.getSelectedRow());            jTableParameters.updateUI();        }            }//GEN-LAST:event_jButtonDeleteParameterActionPerformed    private void jButtonModifyParameterActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonModifyParameterActionPerformed        java.awt.Frame parent = Misc.frameFromComponent(this);             ConnectionDialog cd = new ConnectionDialog(parent,false);                // Take the selected connection from the table...        if (jTableParameters.getSelectedRow() < 0) return;        IReportConnection irc = null;        try {            irc = (IReportConnection)jTableParameters.getModel().getValueAt(jTableParameters.getSelectedRow(), 0);        } catch (Exception ex) { return; }        if (irc == null) return;                cd.setIReportConnection(irc);                 cd.show();                if (cd.getDialogResult() == JOptionPane.OK_OPTION)        {            IReportConnection con = cd.getIReportConnection();            // Now we have an old and a new object.            // 1. Adjust table...            try {                jTableParameters.getModel().setValueAt(con ,jTableParameters.getSelectedRow(), 0);                jTableParameters.getModel().setValueAt(con.getDescription() ,jTableParameters.getSelectedRow(), 1);                  } catch (Exception ex) { return; }                        if ( MainFrame.getMainInstance().getProperties().get( "DefaultConnection") == irc)            {                MainFrame.getMainInstance().getProperties().put( "DefaultConnection", con);            }                        MainFrame.getMainInstance().getConnections().setElementAt(con,                        MainFrame.getMainInstance().getConnections().indexOf(irc));            MainFrame.getMainInstance().saveiReportConfiguration();        }    }//GEN-LAST:event_jButtonModifyParameterActionPerformed    private void jButtonNewParameterActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonNewParameterActionPerformed        java.awt.Frame parent = Misc.frameFromComponent(this);             ConnectionDialog cd = new ConnectionDialog(parent,false);        cd.show();                if (cd.getDialogResult() == JOptionPane.OK_OPTION)        {            IReportConnection con = cd.getIReportConnection();            DefaultTableModel dtm = (DefaultTableModel)jTableParameters.getModel();            dtm.addRow( new Object[]{con, con.getDescription() });            //             MainFrame.getMainInstance().getConnections().addElement(con);            MainFrame.getMainInstance().saveiReportConfiguration();        }    }//GEN-LAST:event_jButtonNewParameterActionPerformed        /** Closes the dialog */    private void closeDialog(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_closeDialog        setVisible(false);    }//GEN-LAST:event_closeDialog        /**     * @param args the command line arguments     */    public static void main(String args[]) {        new ValuesDialog(new javax.swing.JFrame(), true).show();    }                public void updateConnections() {       /*        DefaultTableModel dtm = (DefaultTableModel)jTableParameters.getModel();        dtm.setRowCount(0);            Enumeration enum = jReportFrame.getReport().getParameters().elements();        while (enum.hasMoreElements())        {            it.businesslogic.ireport.JRParameter parameter = (it.businesslogic.ireport.JRParameter)enum.nextElement();            Vector row = new Vector();            row.addElement( parameter);            row.addElement( parameter.getClassType());            row.addElement( parameter.isIsForPrompting()+"");                        dtm.addRow(row);                   }        */        }                 // Variables declaration - do not modify//GEN-BEGIN:variables        private javax.swing.JButton jButtonDeleteParameter;        private javax.swing.JButton jButtonModifyParameter;        private javax.swing.JButton jButtonNewParameter;        private javax.swing.JPanel jPanelButtons;        private javax.swing.JPanel jPanelParameters;        private javax.swing.JScrollPane jScrollPane1;        private javax.swing.JTable jTableParameters;        // End of variables declaration//GEN-END:variables       public void setVisible(boolean visible)    {       updateConnections();    }}

⌨️ 快捷键说明

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