please help me

hello.

i am having trouble logging on to the video library system that i just developed. there is only one main() method (in the HomeEntertainment class) used in my video library project (the 4 classes are shown below). when i try to log on to my system, i only get one problem thrown my way. when i enter my login details and press OK, i get one error message instead of a menu. how can i get rid of this problem?

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.border.*;

publicclass HomeEntertainmentextends JPanelimplements ActionListener{

private JTabbedPane jtp =new JTabbedPane();

private JPanel cP1 =new JPanel();

private JPanel cP2 =new JPanel();

private JPanel cP3 =new JPanel();

private JPanel bP1 =new JPanel();

private JPanel bP2 =new JPanel();

private JPanel bP3 =new JPanel();

private JButton jbAdministratorLogOn =new JButton("Log On");

private JButton jbNewUserRegister =new JButton("Register");

private JButton jbExistingUserLogOn =new JButton("Log On");

private JButton jbAdministratorExitTheSystem =new JButton("Exit the system");

private JButton jbNewUserExitTheSystem =new JButton("Exit the system");

private JButton jbExistingUserExitTheSystem =new JButton("Exit the system");

public HomeEntertainment(){

cP1.setLayout(new BorderLayout());

cP2.setLayout(new BorderLayout());

cP3.setLayout(new BorderLayout());

bP1.setBorder(new TitledBorder("Make a choice"));

bP2.setBorder(new TitledBorder("Make a choice"));

bP3.setBorder(new TitledBorder("Make a choice"));

bP1.add(jbAdministratorLogOn);

bP2.add(jbNewUserRegister);

bP3.add(jbExistingUserLogOn);

bP1.add(jbAdministratorExitTheSystem);

bP2.add(jbNewUserExitTheSystem);

bP3.add(jbExistingUserExitTheSystem);

cP1.add(bP1, BorderLayout.SOUTH);

cP2.add(bP2, BorderLayout.SOUTH);

cP3.add(bP3, BorderLayout.SOUTH);

jtp.addTab("Administrator", cP1);

jtp.addTab("New User", cP2);

jtp.addTab("Existing User", cP3);

JFrame jf =new JFrame("Home Entertainment");

jf.getContentPane().add(jtp, BorderLayout.CENTER);

jf.setSize(500, 500);

jf.setVisible(true);

jbAdministratorLogOn.addActionListener(this);

jbNewUserRegister.addActionListener(this);

jbExistingUserLogOn.addActionListener(this);

jbAdministratorExitTheSystem.addActionListener(this);

jbNewUserExitTheSystem.addActionListener(this);

jbExistingUserExitTheSystem.addActionListener(this);

}

publicvoid actionPerformed(ActionEvent e){

if(e.getSource() == jbAdministratorLogOn){

LogOn logOn =new LogOn();

logOn.setVisible(true);

}

if(e.getSource() == jbNewUserRegister){

RegistrationForm r =new RegistrationForm();

r.setVisible(true);

}

if(e.getSource() == jbExistingUserLogOn){

LogOn logOn =new LogOn();

logOn.setVisible(true);

}

if(e.getSource() == jbAdministratorExitTheSystem){

System.exit(0);

}

if(e.getSource() == jbNewUserExitTheSystem){

System.exit(0);

}

if(e.getSource() == jbExistingUserExitTheSystem){

System.exit(0);

}

}

publicstaticvoid main(String[] args){

new HomeEntertainment();

}

}

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

publicclass LogOnextends JFrame{

JPanel pnlBody, pnlFooter;

JLabel unLabel =new JLabel("Username: ");

JLabel pwLabel =new JLabel("Password: ");

JTextField jtfUN =new JTextField(20);

JPasswordField jtfPW =new JPasswordField(20);

JButton jbOK =new JButton("OK");

JButton jbCancel =new JButton("Cancel");

Container contentpane;

public LogOn(){

super("Welcome to Home Entertainment");

contentpane = getContentPane();

contentpane.setLayout(new BorderLayout());

pnlBody =new JPanel();

pnlFooter =new JPanel();

pnlBody.add(unLabel);

pnlBody.add(jtfUN);

pnlBody.add(pwLabel);

pnlBody.add(jtfPW);

pnlFooter.add(jbOK);

pnlFooter.add(jbCancel);

contentpane.add(pnlBody,BorderLayout.NORTH);

contentpane.add(pnlFooter,BorderLayout.CENTER);

pack();

setVisible(true);

jbOK.addActionListener(new ActionListener(){

publicvoid actionPerformed(ActionEvent e){

String username;

String password;

String[] userUsernameArray ={"Ann Smyth","John Murphy"};

String[] userPasswordArray ={"1","2"};

String[] adminUsernameArray ={"Administrator"};

String[] adminPasswordArray ={"0"};

username = jtfUN.getText().trim();

password =new String(jtfPW.getPassword());

if(username.equals(userUsernameArray) && password.equals(userPasswordArray)){

setVisible(false);

UserMainMenu umm =new UserMainMenu();

umm.setVisible(true);

}

elseif(username.equals(adminUsernameArray) && password.equals(adminPasswordArray)){

setVisible(false);

AdminMainMenu amm =new AdminMainMenu();

amm.setVisible(true);

}

else{

JOptionPane.showMessageDialog(null,"Error\n\nYou have entered an incorrect username and/or password\nPlease try again", null, JOptionPane.ERROR_MESSAGE);

}

}

});

jbCancel.addActionListener(new ActionListener(){

publicvoid actionPerformed(ActionEvent e){

setVisible(false);

}

});

}

}

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

publicclass AdminMainMenuextends JFrame{

JPanel pnlBody;

JButton btnOrderSystem =new JButton("Order System");

JButton btnMaintenance =new JButton("Maintenance");

JButton btnAdminLogOff =new JButton("Log Off");

Container contentpane;

public AdminMainMenu(){

super("Main Menu");

contentpane = getContentPane();

contentpane.setLayout(new BorderLayout());

pnlBody =new JPanel();

pnlBody.add(btnOrderSystem);

pnlBody.add(btnMaintenance);

pnlBody.add(btnAdminLogOff);

contentpane.add(pnlBody,BorderLayout.CENTER);

pack();

setVisible(true);

btnOrderSystem.addActionListener(new ActionListener(){

publicvoid actionPerformed(ActionEvent e){

setVisible(false);

//OrderSystem os = new OrderSystem();

//os.setVisible(true);

}

});

btnMaintenance.addActionListener(new ActionListener(){

publicvoid actionPerformed(ActionEvent e){

setVisible(false);

//Maintenance m = new Maintenance();

//m.setVisible(true);

}

});

btnAdminLogOff.addActionListener(new ActionListener(){

publicvoid actionPerformed(ActionEvent e){

int result;

result = JOptionPane.showConfirmDialog(null,"Are you sure you want to log off?", null, JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);

if(result == JOptionPane.YES_OPTION){

setVisible(false);

}

}

});

}

}

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

publicclass UserMainMenuextends JFrame{

JPanel pnlBody;

JButton btnUserProductMenu =new JButton("Product Menu");

JButton btnUserMemberMenu =new JButton("Member Menu");

JButton btnUserRentalMenu =new JButton("Rental Menu");

JButton btnUserLogOff =new JButton("Log Off");

Container contentpane;

public UserMainMenu(){

super("Main Menu");

contentpane = getContentPane();

contentpane.setLayout(new BorderLayout());

pnlBody =new JPanel();

pnlBody.add(btnUserProductMenu);

pnlBody.add(btnUserMemberMenu);

pnlBody.add(btnUserRentalMenu);

pnlBody.add(btnUserLogOff);

contentpane.add(pnlBody,BorderLayout.CENTER);

pack();

setVisible(true);

btnUserProductMenu.addActionListener(new ActionListener(){

publicvoid actionPerformed(ActionEvent e){

//UserProductMenu upm = new UserProductMenu();

//upm.setVisible(true);

}

});

btnUserMemberMenu.addActionListener(new ActionListener(){

publicvoid actionPerformed(ActionEvent e){

//UserMemberMenu umm = new UserMemberMenu();

//umm.setVisible(true);

}

});

btnUserRentalMenu.addActionListener(new ActionListener(){

publicvoid actionPerformed(ActionEvent e){

//UserRentalMenu urm = new UserRentalMenu();

//urm.setVisible(true);

}

});

btnUserLogOff.addActionListener(new ActionListener(){

publicvoid actionPerformed(ActionEvent e){

int result;

result = JOptionPane.showConfirmDialog(null,"Are you sure you want to log off?", null, JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);

if(result == JOptionPane.YES_OPTION){

setVisible(false);

}

}

});

}

}

[17900 byte] By [james-mcfaddena] at [2007-11-27 10:57:24]
# 1

Post the error message (stacktrace)

manuel.leiriaa at 2007-7-29 12:08:56 > top of Java-index,Java Essentials,Java Programming...
# 2

the error message that i'm on about is the JOptionPane.ERROR_Message GUI, which is only supposed to be displayed if either the user or administrator enter a wrong username/password in the JTextField/JPasswordField. but i did enter the right username/password in the right JTextField/JPasswordField. and all i was getting was the JOptionPane.ERROR_Message. how do i solve this problem?

james-mcfaddena at 2007-7-29 12:08:56 > top of Java-index,Java Essentials,Java Programming...
# 3

>class HomeEntertainment

>...

>if(e.getSource() == jbNewUserRegister){

> RegistrationForm r = new RegistrationForm();

> r.setVisible(true);

>}

post the error code and the RegistrationForm class plz.

java_2006a at 2007-7-29 12:08:56 > top of Java-index,Java Essentials,Java Programming...
# 4

>if(username.equals(userUsernameArray) && >password.equals(userPasswordArray)){

>setVisible(false);

>UserMainMenu umm = new UserMainMenu();

>umm.setVisible(true);

>}

Take a look at this code excerpt.

You are comparing the username to the available username array object !!

You should have compared it to array contents in a loop.

java_2006a at 2007-7-29 12:08:56 > top of Java-index,Java Essentials,Java Programming...
# 5

try this LogOn version:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class LogOn extends JFrame {

JPanel pnlBody, pnlFooter;

JLabel unLabel = new JLabel("Username: ");

JLabel pwLabel = new JLabel("Password: ");

JTextField jtfUN = new JTextField(20);

JPasswordField jtfPW = new JPasswordField(20);

JButton jbOK = new JButton("OK");

JButton jbCancel = new JButton("Cancel");

Container contentpane;

String[] userUsernameArray = { "Ann Smyth", "John Murphy" };

String[] userPasswordArray = { "1", "2" };

String[] adminUsernameArray = { "Administrator" };

String[] adminPasswordArray = { "0" };

public LogOn() {

super("Welcome to Home Entertainment");

contentpane = getContentPane();

contentpane.setLayout(new BorderLayout());

pnlBody = new JPanel();

pnlFooter = new JPanel();

pnlBody.add(unLabel);

pnlBody.add(jtfUN);

pnlBody.add(pwLabel);

pnlBody.add(jtfPW);

pnlFooter.add(jbOK);

pnlFooter.add(jbCancel);

contentpane.add(pnlBody, BorderLayout.NORTH);

contentpane.add(pnlFooter, BorderLayout.CENTER);

pack();

setVisible(true);

jbOK.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

String username;

String password;

username = jtfUN.getText().trim();

password = new String(jtfPW.getPassword());

if (check(username, userUsernameArray) && check(password, userPasswordArray)) {

setVisible(false);

UserMainMenu umm = new UserMainMenu();

umm.setVisible(true);

} else if (check(username, adminUsernameArray) && check(password, adminPasswordArray)) {

setVisible(false);

AdminMainMenu amm = new AdminMainMenu();

amm.setVisible(true);

} else {

JOptionPane.showMessageDialog(null, "Error\n\nYou have entered an incorrect username and/or password\nPlease try again", null,

JOptionPane.ERROR_MESSAGE);

}

}

});

jbCancel.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

setVisible(false);

}

});

}

/**

* Checks whether the string array contains the value

* @param value

* @param array

* @return

*/

private boolean check(String value, String[] array) {

for (int i = 0; i < array.length; i++) {

if (array[i].equals(value)) {

return true;

}

}

return false;

}

}

Hope That Helps

java_2006a at 2007-7-29 12:08:56 > top of Java-index,Java Essentials,Java Programming...
# 6

Quit cross posting your qestions. This was posted in the Swing forum.

camickra at 2007-7-29 12:08:56 > top of Java-index,Java Essentials,Java Programming...