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

📄 bandsdialog.java

📁 iReport-0.4.1-src是iReport的源代码,iReport是一个开源的报表项目,可以生成PDF等格式报表
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
                gridBagConstraints.weightx = 1.0;
                gridBagConstraints.weighty = 1.0;
                jPanel3.add(jRTextExpressionArea, gridBagConstraints);

                jPanel2.add(jPanel3, java.awt.BorderLayout.CENTER);

                jPanelButtons.add(jPanel2, java.awt.BorderLayout.CENTER);

                jPanelFields.add(jPanelButtons, java.awt.BorderLayout.CENTER);

                getContentPane().add(jPanelFields, java.awt.BorderLayout.CENTER);

                jScrollPane1.setToolTipText("");
                jScrollPane1.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
                jScrollPane1.setPreferredSize(new java.awt.Dimension(150, 131));
                jListBands.setBorder(new javax.swing.border.EtchedBorder());
                jListBands.setFont(new java.awt.Font("Dialog", 0, 11));
                jListBands.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
                jListBands.setToolTipText("List of bands");
                jListBands.setMaximumSize(new java.awt.Dimension(32767, 32767));
                jListBands.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
                        public void valueChanged(javax.swing.event.ListSelectionEvent evt) {
                                jListBandsValueChanged(evt);
                        }
                });

                jScrollPane1.setViewportView(jListBands);

                getContentPane().add(jScrollPane1, java.awt.BorderLayout.WEST);

                pack();
        }//GEN-END:initComponents

    private void jCheckBoxSplitAllowedActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBoxSplitAllowedActionPerformed
        
        Band b = (Band)this.jListBands.getSelectedValue();
        if (b != null) b.setSplitAllowed( jCheckBoxSplitAllowed.isSelected());
        
    }//GEN-LAST:event_jCheckBoxSplitAllowedActionPerformed

    private void jNumberFieldHeightActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jNumberFieldHeightActionPerformed
        
        
        Band b = (Band)this.jListBands.getSelectedValue();
	// 1. we set band height, but first we adjust elements position
	int delta = (int)jNumberFieldHeight.getValue() - b.getHeight();
	if (delta != 0)
	{
                Report report = getJReportFrame().getReport();
		int min_height = 0;
		int band_h =  getJReportFrame().getReport().getBandYLocation(b) +10;
		if (delta < -(  b.getHeight()-min_height) ) delta= -(b.getHeight()-min_height);
                //if (report.getDesignHeightNoBG()+delta > report.getPagesize().y) delta = report.getPagesize().y- report.getDesignHeightNoBG();
					    
		if (!b.getName().equals("background") &&
                    !( b.getName().equals("title") && getJReportFrame().getReport().isIsTitleNewPage()) &&
                    !( b.getName().equals("summary") && getJReportFrame().getReport().isIsSummaryNewPage()))
                {
                    int designHeight = report.getDesignHeightNoBG();
                    if (report.isIsTitleNewPage())
                    {
                        designHeight -= report.getBandByName("title").getHeight();
                    }

                    if (report.isIsSummaryNewPage())
                    {
                        designHeight -= report.getBandByName("summary").getHeight();
                    }
                    
                    if (designHeight+delta > report.getHeight())
                    {
                        delta = report.getHeight()- designHeight;
                    }
                }
		else
                {
                    if (b.getHeight()+delta > report.getHeight()-report.getTopMargin()- report.getBottomMargin())
                    {
                        delta = report.getHeight()-b.getHeight()-report.getTopMargin()-report.getBottomMargin();
                    }
                }
						
		// Redraw all under the min height...
		b.setHeight( b.getHeight() + delta );
		int edge_y =  Math.min(report.getBandYLocation(b)+b.getHeight(),report.getBandYLocation(b)+b.getHeight()-delta);
		Enumeration e = report.getElements().elements();
		while (e.hasMoreElements())
		{
			ReportElement re = (ReportElement)e.nextElement();
			if (re.position.y >= edge_y+10)	
			{
				// I should add the distance form the base of resized band, and my element... 
                		int space_before_band = band_h - re.position.y - re.height;
				if (band_h <= report.getBandYLocation(re.getBand()) +10)
				space_before_band = 0;
				re.setPosition(new java.awt.Point(re.getPosition().x, re.getPosition().y+delta));	
                        }	
		}	
                
                try {
                    jNumberFieldHeight.setValue(b.getHeight());
                } catch (Exception ex){}
                //System.out.println("Repaint");
                getJReportFrame().setIsDocDirty(true);
                getJReportFrame().updateScrollBars();
                getJReportFrame().getReportPanel().repaint();
	}
                                        
    }//GEN-LAST:event_jNumberFieldHeightActionPerformed

    private void jListBandsValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_jListBandsValueChanged
        //
        if (jListBands.getModel().getSize() == 0)
        {
             try {
                this.jNumberFieldHeight.setValue( 0 );
            } catch (Exception ex) {}
            this.jRTextExpressionArea.setText("");
             jCheckBoxSplitAllowed.setSelected(false);
            return;
        }
        
        if (jListBands.getSelectedIndex() < 0) 
        {
            jListBands.setSelectedIndex(0);
            return;
        }
        Band selectedBand = (Band)jListBands.getSelectedValue();
        try {
            this.jNumberFieldHeight.setValue( selectedBand.getHeight());
        } catch (Exception ex) {}
        this.jRTextExpressionArea.setText( selectedBand.getPrintWhenExpression());
        this.jCheckBoxSplitAllowed.setSelected(  selectedBand.isSplitAllowed() );
    }//GEN-LAST:event_jListBandsValueChanged
    
    /** Closes the dialog */
    private void closeDialog(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_closeDialog
        setVisible(false);
        dispose();
    }//GEN-LAST:event_closeDialog
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        new BandsDialog(new javax.swing.JFrame(), true).show();
    }
    
    /** Getter for property jReportFrame.
     * @return Value of property jReportFrame.
     *
     */
    public it.businesslogic.ireport.gui.JReportFrame getJReportFrame() {
        return jReportFrame;
    }    
    
    /** Setter for property jReportFrame.
     * @param jReportFrame New value of property jReportFrame.
     *
     */
    public void setJReportFrame(it.businesslogic.ireport.gui.JReportFrame jReportFrame) {
        this.jReportFrame = jReportFrame;
        
        // Update all...
        if (jReportFrame == null) 
        {
            setVisible(false);
            return;
        }
        this.setTitle(jReportFrame.getReport().getName()+" bands...");
        if (isVisible())
        {
            updateBands();
        }
    }
    
        // Variables declaration - do not modify//GEN-BEGIN:variables
        private javax.swing.JCheckBox jCheckBoxSplitAllowed;
        private javax.swing.JLabel jLabel1;
        private javax.swing.JLabel jLabel2;
        private javax.swing.JList jListBands;
        private it.businesslogic.ireport.gui.JNumberField jNumberFieldHeight;
        private javax.swing.JPanel jPanel2;
        private javax.swing.JPanel jPanel3;
        private javax.swing.JPanel jPanelButtons;
        private javax.swing.JPanel jPanelFields;
        private it.businesslogic.ireport.gui.JRTextExpressionArea jRTextExpressionArea;
        private javax.swing.JScrollPane jScrollPane1;
        // End of variables declaration//GEN-END:variables
    
    public void setVisible(boolean visible)
    {
        if (visible == isVisible()) return;
        super.setVisible(visible);
        if (visible == true) 
        {
            this.setJReportFrame(jReportFrame);
        }
    }
    
    public void setSelectedBand(String bandName )
    {
        for (int i=0; i<jListBands.getModel().getSize(); ++i)
        {
            Band b = (Band)jListBands.getModel().getElementAt( i );
            if (b.getName().equals(bandName))
            {
                jListBands.setSelectedIndex( i );
                return;
            }
        }
    }
}

⌨️ 快捷键说明

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