Example : A Multiple Fields Report code in Java.

NB: Take a jInternal frame - take single 'ScrollPane'(jScrollPane1) carefully from palette and drag over jInternal frame and resize it - take 'jTable' (jTable1) and finally drag into/over ScrollPane - take other required controls as above design.
------------------------------------- X -----------------------------------
import java.sql.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
public class FrmMultiUserReport extends javax.swing.JFrame
{
Connection conn;
PreparedStatement pst;
ResultSet rs;
public FrmMultiUserReport()
{
initComponents();
connect();
showCurrentDate();
loadReport();
}
public void connect()
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:orcl",
"system",
"raj"
);
}
catch (Exception e)
{
JOptionPane.showMessageDialog(this, "Connection Error: " + e);
}
}
public void showCurrentDate()
{
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
TxtReportDate.setText(sdf.format(new Date()));
TxtReportDate.setEditable(false);
}
public void loadReport()
{
try
{
String sql = "SELECT SLNO5, UNAME5, ADDR5, "
+ "TO_CHAR(DOB5, 'DD-MM-YYYY') AS DOB5, "
+ "MOBNO5, GEN5, MAT5, INTER5, GRAD5, PGRAD5, "
+ "NONMAT5, OTHER5, NAT5 "
+ "FROM UREG ORDER BY SLNO5";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
if(rs.isBeforeFirst())
{
fillTable(rs);
}
else
{
clearTable();
JOptionPane.showMessageDialog(
this,
"No Record Found For Selected Fields",
"Search Result",
JOptionPane.WARNING_MESSAGE
);
}
}
catch (Exception e)
{
JOptionPane.showMessageDialog(this, "Report Error: " + e);
}
}
public void fillTable(ResultSet rs)
{
try
{
DefaultTableModel model = new DefaultTableModel();
model.addColumn("Sl No");
model.addColumn("User Name");
model.addColumn("Address");
model.addColumn("DOB");
model.addColumn("Mobile");
model.addColumn("Gender");
model.addColumn("Matric");
model.addColumn("Inter");
model.addColumn("Graduate");
model.addColumn("P. Graduate");
model.addColumn("Non Matric");
model.addColumn("Other");
model.addColumn("Nationality");
while (rs.next())
{
model.addRow(new Object[]{
rs.getInt("SLNO5"),
rs.getString("UNAME5"),
rs.getString("ADDR5"),
rs.getString("DOB5"),
rs.getString("MOBNO5"),
rs.getString("GEN5"),
rs.getString("MAT5"),
rs.getString("INTER5"),
rs.getString("GRAD5"),
rs.getString("PGRAD5"),
rs.getString("NONMAT5"),
rs.getString("OTHER5"),
rs.getString("NAT5")
});
}
jTable1.setModel(model);
formatTable();
}
catch (Exception e)
{
JOptionPane.showMessageDialog(this, "Table Error: " + e);
}
}
public void formatTable()
{
jTable1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
jScrollPane1.setHorizontalScrollBarPolicy(
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
jScrollPane1.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
jTable1.getColumnModel().getColumn(0).setPreferredWidth(60);
jTable1.getColumnModel().getColumn(1).setPreferredWidth(150);
jTable1.getColumnModel().getColumn(2).setPreferredWidth(250);
jTable1.getColumnModel().getColumn(3).setPreferredWidth(100);
jTable1.getColumnModel().getColumn(4).setPreferredWidth(120);
jTable1.getColumnModel().getColumn(5).setPreferredWidth(80);
jTable1.getColumnModel().getColumn(6).setPreferredWidth(80);
jTable1.getColumnModel().getColumn(7).setPreferredWidth(80);
jTable1.getColumnModel().getColumn(8).setPreferredWidth(100);
jTable1.getColumnModel().getColumn(9).setPreferredWidth(120);
jTable1.getColumnModel().getColumn(10).setPreferredWidth(100);
jTable1.getColumnModel().getColumn(11).setPreferredWidth(100);
jTable1.getColumnModel().getColumn(12).setPreferredWidth(120);
}
public void searchReport()
{
/* if(!TxtFromDate.getText().trim().equals("") && TxtToDate.getText().trim().equals(""))
{
JOptionPane.showMessageDialog(this,
"Please Enter To Date");
TxtToDate.requestFocus();
return;
}
if(TxtFromDate.getText().trim().equals("") && !TxtToDate.getText().trim().equals(""))
{
JOptionPane.showMessageDialog(this,
"Please Enter From Date");
TxtFromDate.requestFocus();
return;
} */
try
{
String slno = TxtSlno.getText().trim();
String name = TxtUName.getText().trim();
String mobile = TxtMobileNo.getText().trim();
String gender = CmbGender.getSelectedItem().toString();
String fromDate = TxtFromDate.getText().trim();
String toDate = TxtToDate.getText().trim();
String sql = "SELECT SLNO5, UNAME5, ADDR5, "
+ "TO_CHAR(DOB5, 'DD-MM-YYYY') AS DOB5, "
+ "MOBNO5, GEN5, MAT5, INTER5, GRAD5, PGRAD5, "
+ "NONMAT5, OTHER5, NAT5 "
+ "FROM UREG WHERE 1=1 ";
if (!slno.equals(""))
{
sql += " AND SLNO5 = " + Integer.parseInt(slno);
}
if (!name.equals(""))
{
sql += " AND UPPER(UNAME5) LIKE UPPER('%" + name + "%')";
}
if (!mobile.equals(""))
{
sql += " AND MOBNO5 LIKE '%" + mobile + "%'";
}
if (!gender.equals("All"))
{
sql += " AND GEN5 = '" + gender + "'";
}
if (!fromDate.equals("") && !toDate.equals(""))
{
sql += " AND DOB5 BETWEEN TO_DATE('" + fromDate + "', 'DD-MM-YYYY') "
+ " AND TO_DATE('" + toDate + "', 'DD-MM-YYYY')";
}
sql += " ORDER BY SLNO5";
pst = conn.prepareStatement(
sql,
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY
);
rs = pst.executeQuery();
if (rs.next())
{
rs.beforeFirst();
fillTable(rs);
}
else
{
clearTable();
JOptionPane.showMessageDialog(
this,
"No Record Found For Selected Fields",
"Search Result",
JOptionPane.WARNING_MESSAGE
);
}
}
catch (Exception e)
{
JOptionPane.showMessageDialog(this, "Search Error: " + e);
}
}
public void clearTable()
{
DefaultTableModel model = new DefaultTableModel();
model.addColumn("Sl No");
model.addColumn("User Name");
model.addColumn("Address");
model.addColumn("DOB");
model.addColumn("Mobile");
model.addColumn("Gender");
model.addColumn("Matric");
model.addColumn("Inter");
model.addColumn("Graduate");
model.addColumn("P. Graduate");
model.addColumn("Non Matric");
model.addColumn("Other");
model.addColumn("Nationality");
jTable1.setModel(model);
}
public void printReport()
{
try
{
boolean complete = jTable1.print();
if (complete)
{
JOptionPane.showMessageDialog(this, "Printing Complete");
}
else
{
JOptionPane.showMessageDialog(this, "Printing Cancelled");
}
}
catch (Exception e)
{
JOptionPane.showMessageDialog(this, "Print Error: " + e);
}
}
@SuppressWarnings("unchecked")
---
private void BtnSearchActionPerformed(java.awt.event.ActionEvent evt) {
searchReport();
}
private void BtnShowAllActionPerformed(java.awt.event.ActionEvent evt) {
TxtSlno.setText("");
TxtUName.setText("");
TxtMobileNo.setText("");
TxtFromDate.setText("");
TxtToDate.setText("");
CmbGender.setSelectedIndex(0);
loadReport();
}
private void BtnPrintActionPerformed(java.awt.event.ActionEvent evt) {
printReport();
}
private void BtnCloseActionPerformed(java.awt.event.ActionEvent evt) {
dispose();
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new FrmMultiUserReport().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton BtnClose;
private javax.swing.JButton BtnPrint;
private javax.swing.JButton BtnSearch;
private javax.swing.JButton BtnShowAll;
private javax.swing.JComboBox<String> CmbGender;
private javax.swing.JTextField TxtFromDate;
private javax.swing.JTextField TxtMobileNo;
private javax.swing.JTextField TxtReportDate;
private javax.swing.JTextField TxtSlno;
private javax.swing.JTextField TxtToDate;
private javax.swing.JTextField TxtUName;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
// End of variables declaration
}
![]()
0 Comments