📄 wizarddialog.java
字号:
jButtonNext.setEnabled(true);
}
else
jButtonNext.setEnabled(false);
jButtonPrev.setEnabled(false);
break;
case 2:
// Read fields....
if (oldStep < step)
{
// We must retrive fields...
jButtonNext.setEnabled(false);
t = new Thread(this);
t.start();
return;
}
setViewedPanel(2);
if ( ((javax.swing.DefaultListModel)jList2.getModel()).getSize() == 0 )
jButtonNext.setEnabled(false);
else
jButtonNext.setEnabled(true);
jButtonPrev.setEnabled(true);
break;
case 3:
if (oldStep < step)
{
jComboBox1.removeAllItems();
jComboBox2.removeAllItems();
jComboBox2.setEnabled(false);
jLabelG2.setEnabled(false);
jComboBox3.removeAllItems();
jComboBox3.setEnabled(false);
jLabelG3.setEnabled(false);
jComboBox4.removeAllItems();
jComboBox4.setEnabled(false);
jLabelG4.setEnabled(false);
javax.swing.DefaultListModel dlm = (javax.swing.DefaultListModel)jList2.getModel();
jComboBox1.addItem("");
for (int i=0; i<dlm.getSize(); ++i)
{
jComboBox1.addItem( dlm.getElementAt(i));
}
}
setViewedPanel(3);
break;
case 4:
jButtonNext.setEnabled( jList3.getSelectedIndex()>=0 );
setViewedPanel(4);
break;
case 5:
jButtonNext.setEnabled( false );
jButtonCancel.setText("Finish");
setViewedPanel(5);
break;
}
wzStep = step;
}
public void setViewedPanel(int panel)
{
this.jPanelRoot.removeAll();
java.awt.Font f = new java.awt.Font( jLabelStep1.getFont().getName(), java.awt.Font.PLAIN, 11);
java.awt.Font f2 = new java.awt.Font( jLabelStep1.getFont().getName(), java.awt.Font.BOLD, 11);
this.jLabelStep1.setFont(f);
this.jLabelStep2.setFont(f);
this.jLabelStep3.setFont(f);
this.jLabelStep4.setFont(f);
this.jLabelStep5.setFont(f);
switch (panel)
{
case 1:
this.jPanelRoot.add(jPanelStep1);
this.jLabelStep1.setFont(f2);
break;
case 2:
this.jPanelRoot.add(jPanelStep2);
this.jLabelStep2.setFont(f2);
break;
case 3:
this.jPanelRoot.add(jPanelStep3);
this.jLabelStep3.setFont(f2);
break;
case 4:
this.jPanelRoot.add(jPanelStep4);
this.jLabelStep4.setFont(f2);
break;
case 5:
this.jPanelRoot.add(jPanelStep5);
this.jLabelStep5.setFont(f2);
break;
}
jPanelRoot.updateUI();
}
/** When an object implementing interface <code>Runnable</code> is used
* to create a thread, starting the thread causes the object's
* <code>run</code> method to be called in that separately executing
* thread.
* <p>
* The general contract of the method <code>run</code> is that it may
* take any action whatsoever.
*
* @see java.lang.Thread#run()
*
*/
public void run() {
// This method is invoked to read fields....
try {
IReportConnection irc = (IReportConnection)((MainFrame)this.getParent()).getProperties().get("DefaultConnection");
Connection c = irc.getConnection();
Statement stmt = c.createStatement();
ResultSet rs = stmt.executeQuery( jRSQLExpressionArea1.getText());
((javax.swing.DefaultListModel)jList1.getModel()).removeAllElements();
((javax.swing.DefaultListModel)jList2.getModel()).removeAllElements();
ResultSetMetaData rsmd = rs.getMetaData();
javax.swing.DefaultListModel dlm1 = (javax.swing.DefaultListModel)jList1.getModel();
javax.swing.DefaultListModel dlm2 = (javax.swing.DefaultListModel)jList2.getModel();
for (int i=1; i <=rsmd.getColumnCount(); ++i)
{
it.businesslogic.ireport.JRField field = new it.businesslogic.ireport.JRField(rsmd.getColumnLabel(i), Misc.getJdbcTypeClass(rsmd.getColumnType(i) ));
// Check if parameter already exists...
boolean found = false;
for (int k=0; i< dlm1.size(); ++k)
{
it.businesslogic.ireport.JRField f = (it.businesslogic.ireport.JRField)dlm1.getElementAt(k);
if (f.getName().equalsIgnoreCase(field.getName()))
{
found = true;
break;
}
}
if (!found)
{
//this.getJReportFrame().getReport().getFields().addElement(field);
dlm1.addElement(field);
}
}
setStep(2, 2);
} catch (Exception ex)
{
java.io.StringWriter sw = new java.io.StringWriter();
ex.printStackTrace(new java.io.PrintWriter( sw ));
javax.swing.JOptionPane.showMessageDialog(getParent(),sw.getBuffer()+"","SQL Error", javax.swing.JOptionPane.ERROR_MESSAGE);
this.cancelElaborationStep1();
return;
}
}
public void cancelElaborationStep1()
{
this.jButtonNext.setEnabled(true);
this.jButtonPrev.setEnabled(false);
}
/*
*
*
*/
public Report createTabularReport(String templateFileName)
throws Exception {
Report template = new Report(templateFileName);
template.setDirty(true);
template.setFilename(null);
//2. Find detail and column header bands...
Band detail=null;
Band columns=null;
Enumeration e = template.getBands().elements();
while (e.hasMoreElements())
{
Band band = (Band)e.nextElement();
if (band.getName().equals("detail"))
{
detail = band;
}
else if (band.getName().equals("columnHeader"))
{
columns = band;
}
}
// 1. Normalize position to band...
e = template.getElements().elements();
while (e.hasMoreElements())
{
ReportElement rElement = (ReportElement)e.nextElement();
rElement.trasform(new java.awt.Point(0,- template.getBandYLocation( rElement.getBand() )),TransformationType.TRANSFORMATION_MOVE );
}
//1. Adding groups...
if (this.jComboBox1.getSelectedIndex() > 0)
{
Group g = template.getGroupByName("Group1");
Group g1 = new Group( template, ""+jComboBox1.getSelectedItem(), g.getGroupFooter().getHeight(),g.getGroupHeader().getHeight());
g1.setGroupExpression("$F{"+ jComboBox1.getSelectedItem() + "}" );
template.addGroup(g1);
// Add to g1 all elements attached to g.header and g.footer...
e = template.getElements().elements();
while (e.hasMoreElements())
{
ReportElement rElement = (ReportElement)e.nextElement();
if (rElement.getBand() == g.getGroupHeader())
rElement.setBand(g1.getGroupHeader() );
else if (rElement.getBand() == g.getGroupFooter())
rElement.setBand(g1.getGroupFooter() );
// Set text to Group1 label...
if (rElement instanceof StaticTextReportElement)
{
StaticTextReportElement stre = (StaticTextReportElement)rElement;
if (stre.getText().equals("G1Label"))
stre.setText( ""+jComboBox1.getSelectedItem());
}
else if (rElement instanceof TextFieldReportElement)
{
TextFieldReportElement tfre = (TextFieldReportElement)rElement;
if (tfre.getText().equals("G1Field"))
tfre.setText("$F{"+jComboBox1.getSelectedItem()+"}");
}
}
}
if (this.jComboBox2.getSelectedIndex() > 0)
{
Group g = template.getGroupByName("Group2");
Group g2 = new Group( template, ""+jComboBox2.getSelectedItem(), g.getGroupFooter().getHeight(),g.getGroupHeader().getHeight());
g2.setGroupExpression("$F{"+ jComboBox2.getSelectedItem() + "}" );
template.addGroup(g2);
// Add to g2 all elements attached to g.header and g.footer...
e = template.getElements().elements();
while (e.hasMoreElements())
{
ReportElement rElement = (ReportElement)e.nextElement();
if (rElement.getBand() == g.getGroupHeader())
rElement.setBand(g2.getGroupHeader() );
else if (rElement.getBand() == g.getGroupFooter())
rElement.setBand(g2.getGroupFooter() );
// Set text to Group2 label...
if (rElement instanceof StaticTextReportElement)
{
StaticTextReportElement stre = (StaticTextReportElement)rElement;
if (stre.getText().equals("G2Label"))
stre.setText( ""+jComboBox2.getSelectedItem());
}
else if (rElement instanceof TextFieldReportElement)
{
TextFieldReportElement tfre = (TextFieldReportElement)rElement;
if (tfre.getText().equals("G2Field"))
tfre.setText("$F{"+jComboBox2.getSelectedItem()+"}");
}
}
}
if (this.jComboBox3.getSelectedIndex() > 0)
{
Group g = template.getGroupByName("Group3");
Group g3 = new Group( template, ""+jComboBox3.getSelectedItem(), g.getGroupFooter().getHeight(),g.getGroupHeader().getHeight());
g3.setGroupExpression("$F{"+ jComboBox3.getSelectedItem() + "}" );
template.addGroup(g3);
// Add to g3 all elements attached to g.header and g.footer...
e = template.getElements().elements();
while (e.hasMoreElements())
{
ReportElement rElement = (ReportElement)e.nextElement();
if (rElement.getBand() == g.getGroupHeader())
rElement.setBand(g3.getGroupHeader() );
else if (rElement.getBand() == g.getGroupFooter())
rElement.setBand(g3.getGroupFooter() );
// Set text to Group3 label...
if (rElement instanceof StaticTextReportElement)
{
StaticTextReportElement stre = (StaticTextReportElement)rElement;
if (stre.getText().equals("G3Label"))
stre.setText( ""+jComboBox3.getSelectedItem());
}
else if (rElement instanceof TextFieldReportElement)
{
TextFieldReportElement tfre = (TextFieldReportElement)rElement;
if (tfre.getText().equals("G3Field"))
tfre.setText("$F{"+jComboBox3.getSelectedItem()+"}");
}
}
}
if (this.jComboBox4.getSelectedIndex() > 0)
{
Group g = template.getGroupByName("Group4");
Group g4 = new Group( template, ""+jComboBox4.getSelectedItem(), g.getGroupFooter().getHeight(),g.getGroupHeader().getHeight());
g4.setGroupExpression("$F{"+ jComboBox4.getSelectedItem() + "}" );
template.addGroup(g4);
// Add to g4 all elements attached to g.header and g.footer...
e = template.getElements().elements();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -