lvandaz
04-16-2012, 08:31 AM
Hello,I was trying to create a simple Library I.S. application but am experience a problem during runtime
//LibraryIS.java
package library.is;
import javax.swing.JTabbedPane;
import javax.swing.SwingConstants;
import javax.swing.*;
import java.awt.*;
/**
*
* @author codename47
*/
public class LibraryIS {
//Window
JFrame mainFrame;
JTabbedPane menuTab;
Members members;
JPanel membersPanel;
public LibraryIS(){
mainFrame=new JFrame("Library IS");
mainFrame.setLayout(new BorderLayout());
mainFrame.setVisible(true);
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainFrame.setBounds(200, 200, 800, 600);
menuTab=new JTabbedPane();
members=new Members();
membersPanel=new JPanel();
membersPanel.add(members.CreateRegisterUI(),BorderLayout.NORTH);
membersPanel.add(members.getRegisteredMembers(),BorderLayout.SOUTH);
menuTab.addTab("Members",null,membersPanel,"Member Management");
mainFrame.add(menuTab);
}
public static void main(String[] args) {
// TODO code application logic here
LibraryIS libraryIS = new LibraryIS();
}
}
[/ICODE]
when to tried to comment out this line [CODE] membersPanel.add(members.getRegisteredMembers(),BorderLayout.SOUTH); everthing seems to work fine I went back to the function code and removed the try-catch block it works fine
//Members.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package library.is;
import java.awt.Component;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.*;
/**
*
* @author codename47
*/
public class Members {
private int mID;
private String mName;
private String mAddress;
private String mDate_issue;
private String mType;
private String mStatus;
private int mAmount;
private Connection conn;
public Members(){
}
public int mRegister(){
Statement statement=null;
try{
if(mID<0){
JOptionPane.showMessageDialog(null,"Member ID empty");
return -1;
}
if(mName.isEmpty()){
JOptionPane.showMessageDialog(null,"Member Name empty");
return -1;
}
if(mAddress.isEmpty()){
JOptionPane.showMessageDialog(null,"Member Address empty");
return -1;
}
if(mAmount<0){
JOptionPane.showMessageDialog(null,"Amount empty");
return -1;
}
if(mStatus.isEmpty()){
JOptionPane.showMessageDialog(null,"Member Status empty");
return -1;
}
if(mType.isEmpty()){
JOptionPane.showMessageDialog(null,"Member Type empty");
return -1;
}
if(mDate_issue.isEmpty()){
JOptionPane.showMessageDialog(null,"Date Issue empty");
return -1;
}
if(mID >0 && mAmount>0){
Connection conn=null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/library","user","");
if(conn!=null){
JOptionPane.showMessageDialog(null,"Connected to database");
}else
{
JOptionPane.showMessageDialog(null,"Could not connect to Database");
}
}
catch (Exception ex) {
JOptionPane.showMessageDialog(null,ex.toString());
}
if(conn==null){
JOptionPane.showMessageDialog(null,"Could not Connect to DB server");
}
else{
//create Statement for querying database
statement=conn.createStatement();
if(statement.execute("INSERT INTO membership(IdNo,Name,Address,Date_of_Issue,Type_of_Ms,Status_of_Ms,Amount)"+
" VALUES("+mID+", '"+mName+"', '"+mAddress+"','"+mDate_issue+"','"+mType+"','"+mStatus+"',"+mAmount+")")){
JOptionPane.showMessageDialog(null,"Error while registering "+mName);
}
else{
JOptionPane.showMessageDialog(null,mName+" register successfully");
return 1;
}
}
}
}
catch(Exception e){
JOptionPane.showMessageDialog(null,e.toString());
}
return 0;
}
public Component CreateRegisterUI (){
// JPanel membersPanel=new JPanel();
JPanel regPanel=new JPanel();
regPanel.setSize(100,100);
JPanel curPanel=new JPanel();
regPanel.setLayout(new GridLayout(10,2));
JLabel regLabel=new JLabel("Member Registration",SwingConstants.CENTER);
regPanel.add(regLabel);
JLabel span=new JLabel(" ");
regPanel.add(span);
JLabel lblID=new JLabel("IDNO:");
regPanel.add(lblID);
final JTextField txtID=new JTextField(10);
regPanel.add(txtID);
JLabel lblName=new JLabel("Name:");
regPanel.add(lblName);
final JTextField txtName=new JTextField(10);
regPanel.add(txtName);
JLabel lblAddress=new JLabel("Address:");
regPanel.add(lblAddress);
final JTextField txtAddress=new JTextField(10);
regPanel.add(txtAddress);
JLabel lblDate=new JLabel("Date Issue:");
regPanel.add(lblDate);
final JTextField txtDate=new JTextField(10);
regPanel.add(txtDate);
JLabel lblType=new JLabel("Type of Ms:");
regPanel.add(lblType);
final JTextField txtType=new JTextField(10);
regPanel.add(txtType);
JLabel lblStatus=new JLabel("Status of Ms:");
regPanel.add(lblStatus);
final JTextField txtStatus=new JTextField(10);
regPanel.add(txtStatus);
JLabel lblAmount=new JLabel("Amount:");
regPanel.add(lblAmount);
final JTextField txtAmount=new JTextField(10);
regPanel.add(txtAmount);
JLabel span2=new JLabel(" ");
JButton membersAdd=new JButton("ADD");
membersAdd.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
try{
if(txtID.getText().isEmpty())
mID=-1;
else
mID=Integer.parseInt(txtID.getText());
if(txtAmount.getText().isEmpty())
mAmount=-1;
else
mAmount=Integer.parseInt(txtAmount.getText());
}catch(Exception ex){
JOptionPane.showMessageDialog(null,ex.toString());
mID=-1;
mAmount=-1;
}
mName=txtName.getText();
txtName.setText("");
mAddress=txtAddress.getText();
txtAddress.setText("");
mType=txtType.getText();
txtType.setText("");
mStatus=txtStatus.getText();
txtStatus.setText("");
mDate_issue=txtDate.getText();
txtDate.setText("");
txtID.setText("");
txtAmount.setText("");
mRegister();
}
});
regPanel.add(membersAdd);
regPanel.add(span2);
// membersPanel.add(regPanel,BorderLayout.NORTH);
return regPanel;
}
public Component getRegisteredMembers(){
JPanel scrollpane = new JPanel();
try{
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/library","user","");
if(conn!=null){
JOptionPane.showMessageDialog(null,"Connected to database");
JButton btn=new JButton("Press");
JTextField txt=new JTextField("Sample Text", 10);
scrollpane.add(txt);
scrollpane.add(btn);
}else
{
JOptionPane.showMessageDialog(null,"Could not connect to Database");
}
}
catch(Exception ex){
JOptionPane.showMessageDialog(null,ex.toString());
}
return new JPanel().add(scrollpane);
}
}
Please Help ,Thanks
//LibraryIS.java
package library.is;
import javax.swing.JTabbedPane;
import javax.swing.SwingConstants;
import javax.swing.*;
import java.awt.*;
/**
*
* @author codename47
*/
public class LibraryIS {
//Window
JFrame mainFrame;
JTabbedPane menuTab;
Members members;
JPanel membersPanel;
public LibraryIS(){
mainFrame=new JFrame("Library IS");
mainFrame.setLayout(new BorderLayout());
mainFrame.setVisible(true);
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainFrame.setBounds(200, 200, 800, 600);
menuTab=new JTabbedPane();
members=new Members();
membersPanel=new JPanel();
membersPanel.add(members.CreateRegisterUI(),BorderLayout.NORTH);
membersPanel.add(members.getRegisteredMembers(),BorderLayout.SOUTH);
menuTab.addTab("Members",null,membersPanel,"Member Management");
mainFrame.add(menuTab);
}
public static void main(String[] args) {
// TODO code application logic here
LibraryIS libraryIS = new LibraryIS();
}
}
[/ICODE]
when to tried to comment out this line [CODE] membersPanel.add(members.getRegisteredMembers(),BorderLayout.SOUTH); everthing seems to work fine I went back to the function code and removed the try-catch block it works fine
//Members.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package library.is;
import java.awt.Component;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.*;
/**
*
* @author codename47
*/
public class Members {
private int mID;
private String mName;
private String mAddress;
private String mDate_issue;
private String mType;
private String mStatus;
private int mAmount;
private Connection conn;
public Members(){
}
public int mRegister(){
Statement statement=null;
try{
if(mID<0){
JOptionPane.showMessageDialog(null,"Member ID empty");
return -1;
}
if(mName.isEmpty()){
JOptionPane.showMessageDialog(null,"Member Name empty");
return -1;
}
if(mAddress.isEmpty()){
JOptionPane.showMessageDialog(null,"Member Address empty");
return -1;
}
if(mAmount<0){
JOptionPane.showMessageDialog(null,"Amount empty");
return -1;
}
if(mStatus.isEmpty()){
JOptionPane.showMessageDialog(null,"Member Status empty");
return -1;
}
if(mType.isEmpty()){
JOptionPane.showMessageDialog(null,"Member Type empty");
return -1;
}
if(mDate_issue.isEmpty()){
JOptionPane.showMessageDialog(null,"Date Issue empty");
return -1;
}
if(mID >0 && mAmount>0){
Connection conn=null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/library","user","");
if(conn!=null){
JOptionPane.showMessageDialog(null,"Connected to database");
}else
{
JOptionPane.showMessageDialog(null,"Could not connect to Database");
}
}
catch (Exception ex) {
JOptionPane.showMessageDialog(null,ex.toString());
}
if(conn==null){
JOptionPane.showMessageDialog(null,"Could not Connect to DB server");
}
else{
//create Statement for querying database
statement=conn.createStatement();
if(statement.execute("INSERT INTO membership(IdNo,Name,Address,Date_of_Issue,Type_of_Ms,Status_of_Ms,Amount)"+
" VALUES("+mID+", '"+mName+"', '"+mAddress+"','"+mDate_issue+"','"+mType+"','"+mStatus+"',"+mAmount+")")){
JOptionPane.showMessageDialog(null,"Error while registering "+mName);
}
else{
JOptionPane.showMessageDialog(null,mName+" register successfully");
return 1;
}
}
}
}
catch(Exception e){
JOptionPane.showMessageDialog(null,e.toString());
}
return 0;
}
public Component CreateRegisterUI (){
// JPanel membersPanel=new JPanel();
JPanel regPanel=new JPanel();
regPanel.setSize(100,100);
JPanel curPanel=new JPanel();
regPanel.setLayout(new GridLayout(10,2));
JLabel regLabel=new JLabel("Member Registration",SwingConstants.CENTER);
regPanel.add(regLabel);
JLabel span=new JLabel(" ");
regPanel.add(span);
JLabel lblID=new JLabel("IDNO:");
regPanel.add(lblID);
final JTextField txtID=new JTextField(10);
regPanel.add(txtID);
JLabel lblName=new JLabel("Name:");
regPanel.add(lblName);
final JTextField txtName=new JTextField(10);
regPanel.add(txtName);
JLabel lblAddress=new JLabel("Address:");
regPanel.add(lblAddress);
final JTextField txtAddress=new JTextField(10);
regPanel.add(txtAddress);
JLabel lblDate=new JLabel("Date Issue:");
regPanel.add(lblDate);
final JTextField txtDate=new JTextField(10);
regPanel.add(txtDate);
JLabel lblType=new JLabel("Type of Ms:");
regPanel.add(lblType);
final JTextField txtType=new JTextField(10);
regPanel.add(txtType);
JLabel lblStatus=new JLabel("Status of Ms:");
regPanel.add(lblStatus);
final JTextField txtStatus=new JTextField(10);
regPanel.add(txtStatus);
JLabel lblAmount=new JLabel("Amount:");
regPanel.add(lblAmount);
final JTextField txtAmount=new JTextField(10);
regPanel.add(txtAmount);
JLabel span2=new JLabel(" ");
JButton membersAdd=new JButton("ADD");
membersAdd.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
try{
if(txtID.getText().isEmpty())
mID=-1;
else
mID=Integer.parseInt(txtID.getText());
if(txtAmount.getText().isEmpty())
mAmount=-1;
else
mAmount=Integer.parseInt(txtAmount.getText());
}catch(Exception ex){
JOptionPane.showMessageDialog(null,ex.toString());
mID=-1;
mAmount=-1;
}
mName=txtName.getText();
txtName.setText("");
mAddress=txtAddress.getText();
txtAddress.setText("");
mType=txtType.getText();
txtType.setText("");
mStatus=txtStatus.getText();
txtStatus.setText("");
mDate_issue=txtDate.getText();
txtDate.setText("");
txtID.setText("");
txtAmount.setText("");
mRegister();
}
});
regPanel.add(membersAdd);
regPanel.add(span2);
// membersPanel.add(regPanel,BorderLayout.NORTH);
return regPanel;
}
public Component getRegisteredMembers(){
JPanel scrollpane = new JPanel();
try{
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/library","user","");
if(conn!=null){
JOptionPane.showMessageDialog(null,"Connected to database");
JButton btn=new JButton("Press");
JTextField txt=new JTextField("Sample Text", 10);
scrollpane.add(txt);
scrollpane.add(btn);
}else
{
JOptionPane.showMessageDialog(null,"Could not connect to Database");
}
}
catch(Exception ex){
JOptionPane.showMessageDialog(null,ex.toString());
}
return new JPanel().add(scrollpane);
}
}
Please Help ,Thanks