reportquerydialog.java

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

JAVA
1,003
字号
        jPanel2.add( columnsScrollPane, java.awt.BorderLayout.CENTER );        jPanel2.revalidate();                        javax.swing.table.DefaultTableModel dtm =  (javax.swing.table.DefaultTableModel)jTableFields.getModel();        dtm.getDataVector().clear();        for(int i=0; i<cols.size(); i++) {            Object [] row = (Object[])cols.get(i);            dtm.addRow( row );        }                // Select all the fields so the new user does not get confused, when        // they press OK. As only the selected fields are actually saved to the        // report        jTableFields.selectAll();                okButton.setEnabled( true );    }        /**     * Replace the columns list with a label that contains the reason why     * columns cannot be loaded.     *     * @param msg The error message to display, can be in HTML.     */    private void setColumnsError( final String msg ) {        columnsErrorMsgLabel.setText( msg );        jPanel2.remove( columnsScrollPane );        jPanel2.add( columnsErrorScrollPane, java.awt.BorderLayout.CENTER );        jPanel2.revalidate();        columnsErrorMsgLabel.repaint();                okButton.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;        jSplitPane1 = new javax.swing.JSplitPane();        jPanel1 = new javax.swing.JPanel();        jTabbedPane1 = new javax.swing.JTabbedPane();        jPanelSQL = new javax.swing.JPanel();        jRSQLExpressionArea1 = new it.businesslogic.ireport.gui.JRSQLExpressionArea();        jPanel7 = new javax.swing.JPanel();        automaticlyReadFieldsCheckBox = new javax.swing.JCheckBox();        readFieldsButton = new javax.swing.JButton();        jPanel5 = new javax.swing.JPanel();        jTextFieldBeanClass = new javax.swing.JTextField();        jLabel2 = new javax.swing.JLabel();        jButtonReadBeanAttributes = new javax.swing.JButton();        jButtonReadBeanAttributes1 = new javax.swing.JButton();        jPanel6 = new javax.swing.JPanel();        jPanel2 = new javax.swing.JPanel();        columnsScrollPane = new javax.swing.JScrollPane();        jTableFields = new javax.swing.JTable();        jPanel3 = new javax.swing.JPanel();        jPanel4 = new javax.swing.JPanel();        okButton = new javax.swing.JButton();        cancelButton = new javax.swing.JButton();        jPanel9 = new javax.swing.JPanel();        columnsErrorScrollPane = new javax.swing.JScrollPane();        columnsErrorMsgLabel = new javax.swing.JLabel();        setTitle("Report query");        addWindowListener(new java.awt.event.WindowAdapter() {            public void windowClosing(java.awt.event.WindowEvent evt) {                closeDialog(evt);            }        });        jSplitPane1.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT);        jSplitPane1.setResizeWeight(0.4);        jPanel1.setLayout(new java.awt.BorderLayout());        jPanel1.setMinimumSize(new java.awt.Dimension(10, 100));        jPanel1.setPreferredSize(new java.awt.Dimension(10, 350));        jTabbedPane1.setPreferredSize(new java.awt.Dimension(154, 350));        jTabbedPane1.setMinimumSize(new java.awt.Dimension(154, 350));        jPanelSQL.setLayout(new java.awt.BorderLayout());        jPanelSQL.setPreferredSize(new java.awt.Dimension(1, 350));        jPanelSQL.setMinimumSize(new java.awt.Dimension(1, 100));        jRSQLExpressionArea1.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.LOWERED));        jRSQLExpressionArea1.setPreferredSize(new java.awt.Dimension(661, 340));        jRSQLExpressionArea1.setMinimumSize(new java.awt.Dimension(661, 200));        jPanelSQL.add(jRSQLExpressionArea1, java.awt.BorderLayout.CENTER);        jPanel7.setLayout(new java.awt.GridBagLayout());        automaticlyReadFieldsCheckBox.setText("Automatically Retrieve Fields");        automaticlyReadFieldsCheckBox.setSelected(true);        automaticlyReadFieldsCheckBox.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                automaticlyReadFieldsCheckBoxActionPerformed(evt);            }        });        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;        gridBagConstraints.insets = new java.awt.Insets(2, 5, 2, 0);        jPanel7.add(automaticlyReadFieldsCheckBox, gridBagConstraints);        readFieldsButton.setText("Read Fields");        readFieldsButton.setEnabled(false);        readFieldsButton.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                readFieldsButtonActionPerformed(evt);            }        });        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;        gridBagConstraints.weightx = 1.0;        gridBagConstraints.insets = new java.awt.Insets(2, 10, 2, 0);        jPanel7.add(readFieldsButton, gridBagConstraints);        jPanelSQL.add(jPanel7, java.awt.BorderLayout.SOUTH);        jTabbedPane1.addTab("Report SQL query ", jPanelSQL);        jPanel5.setLayout(new java.awt.GridBagLayout());        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 0;        gridBagConstraints.gridy = 1;        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;        gridBagConstraints.insets = new java.awt.Insets(0, 3, 5, 3);        jPanel5.add(jTextFieldBeanClass, gridBagConstraints);        jLabel2.setText("Class name");        jLabel2.setVerticalAlignment(javax.swing.SwingConstants.BOTTOM);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 0;        gridBagConstraints.gridy = 0;        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;        gridBagConstraints.insets = new java.awt.Insets(3, 3, 5, 3);        jPanel5.add(jLabel2, gridBagConstraints);        jButtonReadBeanAttributes.setText("Read javabeans attributes");        jButtonReadBeanAttributes.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                jButtonReadBeanAttributesActionPerformed(evt);            }        });        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 0;        gridBagConstraints.gridy = 2;        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;        gridBagConstraints.weightx = 1.0;        gridBagConstraints.insets = new java.awt.Insets(0, 3, 5, 3);        jPanel5.add(jButtonReadBeanAttributes, gridBagConstraints);        jButtonReadBeanAttributes1.setText("Read extended javabeans attributes");        jButtonReadBeanAttributes1.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                jButtonReadBeanAttributes1ActionPerformed(evt);            }        });        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 0;        gridBagConstraints.gridy = 3;        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;        gridBagConstraints.weighty = 1.0;        gridBagConstraints.insets = new java.awt.Insets(0, 3, 5, 3);        jPanel5.add(jButtonReadBeanAttributes1, gridBagConstraints);        jTabbedPane1.addTab("JavaBean Datasource", jPanel5);        jTabbedPane1.addTab("Custom Datasource", jPanel6);        jPanel1.add(jTabbedPane1, java.awt.BorderLayout.CENTER);        jSplitPane1.setTopComponent(jPanel1);        jPanel2.setLayout(new java.awt.BorderLayout());        jPanel2.setPreferredSize(new java.awt.Dimension(453, 150));        columnsScrollPane.setPreferredSize(new java.awt.Dimension(453, 150));        jTableFields.setModel(new javax.swing.table.DefaultTableModel(            new Object [][] {            },            new String [] {                "Field name", "Field type", "Description"            }        ) {            boolean[] canEdit = new boolean [] {                false, false, false            };            public boolean isCellEditable(int rowIndex, int columnIndex) {                return canEdit [columnIndex];            }        });        jTableFields.addKeyListener(new java.awt.event.KeyAdapter() {            public void keyReleased(java.awt.event.KeyEvent evt) {                jTableFieldsKeyReleased(evt);            }        });        columnsScrollPane.setViewportView(jTableFields);        jPanel2.add(columnsScrollPane, java.awt.BorderLayout.CENTER);        jPanel3.setLayout(new java.awt.BorderLayout());        jPanel3.setMinimumSize(new java.awt.Dimension(10, 34));        jPanel3.setPreferredSize(new java.awt.Dimension(10, 34));        jPanel4.setLayout(new java.awt.GridBagLayout());        jPanel4.setPreferredSize(new java.awt.Dimension(150, 10));        okButton.setText("OK");        okButton.setPreferredSize(new java.awt.Dimension(65, 23));        okButton.setMaximumSize(new java.awt.Dimension(65, 23));        okButton.setMinimumSize(new java.awt.Dimension(65, 23));        okButton.setEnabled(false);        okButton.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                okButtonActionPerformed(evt);            }        });        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 1;        gridBagConstraints.gridy = 0;        jPanel4.add(okButton, gridBagConstraints);        cancelButton.setText("Cancel");        cancelButton.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                cancelButtonActionPerformed(evt);            }        });        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 0;        gridBagConstraints.gridy = 0;        jPanel4.add(cancelButton, gridBagConstraints);        jPanel3.add(jPanel4, java.awt.BorderLayout.EAST);        jPanel9.setLayout(null);        jPanel9.setMinimumSize(new java.awt.Dimension(100, 20));        jPanel3.add(jPanel9, java.awt.BorderLayout.CENTER);        jPanel2.add(jPanel3, java.awt.BorderLayout.SOUTH);        columnsErrorMsgLabel.setText("jLabel1");        columnsErrorMsgLabel.setVerticalAlignment(javax.swing.SwingConstants.TOP);        columnsErrorMsgLabel.setVerticalTextPosition(javax.swing.SwingConstants.TOP);        columnsErrorScrollPane.setViewportView(columnsErrorMsgLabel);        jPanel2.add(columnsErrorScrollPane, java.awt.BorderLayout.CENTER);        jSplitPane1.setBottomComponent(jPanel2);        getContentPane().add(jSplitPane1, java.awt.BorderLayout.CENTER);        pack();    }//GEN-END:initComponents    private void jButtonReadBeanAttributes1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonReadBeanAttributes1ActionPerformed        String classname = jTextFieldBeanClass.getText().trim();        if (classname.equals("")){                     javax.swing.JOptionPane.showMessageDialog(this, "No class specified!","Error",javax.swing.JOptionPane.ERROR_MESSAGE);            return;        }        try {                        DefaultTableModel dtm = (DefaultTableModel)jTableFields.getModel();            dtm.setRowCount(0);                              Class clazz = Class.forName(classname);            getFieldsFromClass(clazz,"");                                  } catch (ClassNotFoundException cnf)        {            javax.swing.JOptionPane.showMessageDialog(this, "Class not found!\nCheck your classpath and retry.","Error",javax.swing.JOptionPane.ERROR_MESSAGE);            return;        } catch (Exception ex)        {            javax.swing.JOptionPane.showMessageDialog(this, ex.getMessage() ,"Error",javax.swing.JOptionPane.ERROR_MESSAGE);            return;        }    }//GEN-LAST:event_jButtonReadBeanAttributes1ActionPerformed    protected void getFieldsFromClass(Class clazz, String path) throws Exception    {         DefaultTableModel dtm = (DefaultTableModel)jTableFields.getModel();                     java.lang.reflect.Method[] methods = clazz.getMethods();         java.lang.reflect.Field[] fields = clazz.getFields();         // for any method, looking for get<FieldName> ....                                 for (int i=0; i<methods.length; ++i)         {                               if ( java.lang.reflect.Modifier.isPublic( methods[i].getModifiers() ) &&                     methods[i].getDeclaringClass().getName().equals(clazz.getName() ) &&                     !java.lang.reflect.Modifier.isNative( methods[i].getModifiers() )                          && methods[i].getName().startsWith("get")                        && !methods[i].getReturnType().isPrimitive()                         && !methods[i].getReturnType().isArray())                {                   String fieldName = methods[i].getName().substring(3);                   // Looking for the field...                   for (int f=0; f<fields.length; ++f)                   {                       if (fields[f].getName().equalsIgnoreCase( fieldName ))                       {                                                      fieldName = fields[f].getName();                           break;                       }                   }                                      String returnType =  methods[i].getReturnType().getName();                   boolean found = false;                   for (int cc=0; cc<standard_types.length; ++cc)                   {

⌨️ 快捷键说明

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