Problem with JDialog

hello.

this is james mcfadden. i have a problem getting the following program compiled. i get the following errors when i try to compile the program.

the program and error messages are shown below. what is causing these errors? how can they be corrected?

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

publicclass LogOn{

LogOnInfoDialog loid =new LogOnInfoDialog();

}

class LogOnInfoDialogextends JDialog{

private JTextField jtfUN =new JTextField(20);

private JPasswordField jtfPW =new JPasswordField(20);

private JButton jbOK =new JButton("OK");

private JButton jbCancel =new JButton("Cancel");

private LogOn logOn =new LogOn();

class LogOn{

String username;

String password;

String[] userUsernameArray =new String[2];

String[] userPasswordArray =new String[2];

String[] adminUsernameArray =new String[1];

String[] adminPasswordArray =new String[1];

}

public LogOnInfoDialog(){

this(null,true);

}

public LogOnInfoDialog(java.awt.Frame parent,boolean child){

userUsernameArray[0] ="Ann Smyth";

userUsernameArray[1] ="John Murphy";

userPasswordArray[0] ="1";

userPasswordArray[1] ="2";

adminUsernameArray[0] ="Administrator";

adminPasswordArray[0] ="0";

super(parent, child);

setTitle("Welcome to Home Entertainment");

JPanel jp1 =new JPanel(new GridLayout(2, 1));

jp1.add(new JLabel("Username"));

jp1.add(new JLabel("Password"));

JPanel jp2 =new JPanel(new GridLayout(2, 1));

jp2.add(jtfUN);

jp2.add(jtfPW);

JPanel jp3 =new JPanel(new BorderLayout(5, 2));

jp3.add(jp1, BorderLayout.WEST);

jp3.add(jp2, BorderLayout.CENTER);

JPanel jp4 =new JPanel();

jp4.add(jbOK);

jp4.add(jbCancel);

getContentPane().add(jp4, BorderLayout.SOUTH);

getContentPane().add(jp3, BorderLayout.CENTER);

jbOK.addActionListener(new ActionListener(){

publicvoid actionPerformed(ActionEvent e){

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

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

if(username == userUsernameArray && password == userPasswordArray){

//UserMainMenu umm = new UserMainMenu();

//umm.setVisible(true);

}

if(username == userUsernameArray && password != userPasswordArray || username != userUsernameArray && password == userPasswordArray){

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

}

if(username == adminUsernameArray && password == adminPasswordArray){

//AdminMainMenu amm = new AdminMainMenu();

//amm.setVisible(true);

}

if(username == adminUsernameArray && password != adminPasswordArray || username != adminUsernameArray && password == adminPasswordArray){

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

}

setVisible(false);

}

});

jbCancel.addActionListener(new ActionListener(){

publicvoid actionPerformed(ActionEvent e){

logOn =null;

setVisible(false);

}

});

}

}

-jGRASP exec: javac -g E:\CP4B Project\LogOn.java

LogOn.java:37: cannot find symbol

symbol : variable userUsernameArray

location: class LogOnInfoDialog

userUsernameArray[0] = "Ann Smyth";

^

LogOn.java:38: cannot find symbol

symbol : variable userUsernameArray

location: class LogOnInfoDialog

userUsernameArray[1] = "John Murphy";

^

LogOn.java:39: cannot find symbol

symbol : variable userPasswordArray

location: class LogOnInfoDialog

userPasswordArray[0] = "1";

^

LogOn.java:40: cannot find symbol

symbol : variable userPasswordArray

location: class LogOnInfoDialog

userPasswordArray[1] = "2";

^

LogOn.java:41: cannot find symbol

symbol : variable adminUsernameArray

location: class LogOnInfoDialog

adminUsernameArray[0] = "Administrator";

^

LogOn.java:42: cannot find symbol

symbol : variable adminPasswordArray

location: class LogOnInfoDialog

adminPasswordArray[0] = "0";

^

LogOn.java:43: call to super must be first statement in constructor

super(parent, child);

^

LogOn.java:70: cannot find symbol

symbol: variable username

if(username == userUsernameArray && password == userPasswordArray){

^

LogOn.java:70: cannot find symbol

symbol: variable userUsernameArray

if(username == userUsernameArray && password == userPasswordArray){

^

LogOn.java:70: cannot find symbol

symbol: variable password

if(username == userUsernameArray && password == userPasswordArray){

^

LogOn.java:70: cannot find symbol

symbol: variable userPasswordArray

if(username == userUsernameArray && password == userPasswordArray){

^

LogOn.java:74: cannot find symbol

symbol: variable username

if(username == userUsernameArray && password != userPasswordArray || username != userUsernameArray && password == userPasswordArray){

^

LogOn.java:74: cannot find symbol

symbol: variable userUsernameArray

if(username == userUsernameArray && password != userPasswordArray || username != userUsernameArray && password == userPasswordArray){

^

LogOn.java:74: cannot find symbol

symbol: variable password

if(username == userUsernameArray && password != userPasswordArray || username != userUsernameArray && password == userPasswordArray){

^

LogOn.java:74: cannot find symbol

symbol: variable userPasswordArray

if(username == userUsernameArray && password != userPasswordArray || username != userUsernameArray && password == userPasswordArray){

^

LogOn.java:74: cannot find symbol

symbol: variable username

if(username == userUsernameArray && password != userPasswordArray || username != userUsernameArray && password == userPasswordArray){

^

LogOn.java:74: cannot find symbol

symbol: variable userUsernameArray

if(username == userUsernameArray && password != userPasswordArray || username != userUsernameArray && password == userPasswordArray){

^

LogOn.java:74: cannot find symbol

symbol: variable password

if(username == userUsernameArray && password != userPasswordArray || username != userUsernameArray && password == userPasswordArray){

^

LogOn.java:74: cannot find symbol

symbol: variable userPasswordArray

if(username == userUsernameArray && password != userPasswordArray || username != userUsernameArray && password == userPasswordArray){

^

LogOn.java:77: cannot find symbol

symbol: variable username

if(username == adminUsernameArray && password == adminPasswordArray){

^

LogOn.java:77: cannot find symbol

symbol: variable adminUsernameArray

if(username == adminUsernameArray && password == adminPasswordArray){

^

LogOn.java:77: cannot find symbol

symbol: variable password

if(username == adminUsernameArray && password == adminPasswordArray){

^

LogOn.java:77: cannot find symbol

symbol: variable adminPasswordArray

if(username == adminUsernameArray && password == adminPasswordArray){

^

LogOn.java:81: cannot find symbol

symbol: variable username

if(username == adminUsernameArray && password != adminPasswordArray || username != adminUsernameArray && password == adminPasswordArray){

^

LogOn.java:81: cannot find symbol

symbol: variable adminUsernameArray

if(username == adminUsernameArray && password != adminPasswordArray || username != adminUsernameArray && password == adminPasswordArray){

^

LogOn.java:81: cannot find symbol

symbol: variable password

if(username == adminUsernameArray && password != adminPasswordArray || username != adminUsernameArray && password == adminPasswordArray){

^

LogOn.java:81: cannot find symbol

symbol: variable adminPasswordArray

if(username == adminUsernameArray && password != adminPasswordArray || username != adminUsernameArray && password == adminPasswordArray){

^

LogOn.java:81: cannot find symbol

symbol: variable username

if(username == adminUsernameArray && password != adminPasswordArray || username != adminUsernameArray && password == adminPasswordArray){

^

LogOn.java:81: cannot find symbol

symbol: variable adminUsernameArray

if(username == adminUsernameArray && password != adminPasswordArray || username != adminUsernameArray && password == adminPasswordArray){

^

LogOn.java:81: cannot find symbol

symbol: variable password

if(username == adminUsernameArray && password != adminPasswordArray || username != adminUsernameArray && password == adminPasswordArray){

^

LogOn.java:81: cannot find symbol

symbol: variable adminPasswordArray

if(username == adminUsernameArray && password != adminPasswordArray || username != adminUsernameArray && password == adminPasswordArray){

^

31 errors

-jGRASP wedge2: exit code for process is 1.

-jGRASP: operation complete.

[12800 byte] By [james-mcfaddena] at [2007-11-27 9:33:13]
# 1

What's with all the inner classes trying to access each others properties?

Please redesign this mess. Use separate classes so it's easier to see what belongs where.

Main problem: your class LogonInfoDialog cannot access information from the inner class Logon (why is this named the same as the outer class)?

Where did you even get the idea to write code in this fashion?

Herko_ter_Horsta at 2007-7-12 22:53:57 > top of Java-index,Java Essentials,Java Programming...
# 2
Herko's got your answer James McFadden....you declared those variables in a fashion that makes them invisible to any object outside the login class, I am as curious to Herko, as to where or why you decided to do this.
Masterkeedua at 2007-7-12 22:53:57 > top of Java-index,Java Essentials,Java Programming...
# 3
where do i start?
james-mcfaddena at 2007-7-12 22:53:57 > top of Java-index,Java Essentials,Java Programming...
# 4
i don't have too much experience with using arrays with swing either. how should i start correcting these errors?
james-mcfaddena at 2007-7-12 22:53:57 > top of Java-index,Java Essentials,Java Programming...
# 5

it seems that i'm able to use the log on program with the video library program. when i run the video library menu program, i press "Log On" in the administrator's tab and a dialog box for logging in appears. but i can't log into anything. i'm developing a video library system at the moment. funnily enough it's the array stuff along with the username and password variables that are causing the errors. i never used arrays too much when i was programming in Java before.

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.border.*;

public class HomeEntertainment extends JPanel implements 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");

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);

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);

}

public void actionPerformed(ActionEvent e){

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

new LogOnInfoDialog().setVisible(true);

}

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

//RegistrationForm r = new RegistrationForm();

//r.setVisible(true);

}

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

new LogOnInfoDialog().setVisible(true);

}

}

public static void main(String[] args){

new HomeEntertainment();

}

}

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class LogOn{

LogOnInfoDialog loid = new LogOnInfoDialog();

}

class LogOnInfoDialog extends JDialog{

private JTextField jtfUN = new JTextField(20);

private JPasswordField jtfPW = new JPasswordField(20);

private JButton jbOK = new JButton("OK");

private JButton jbCancel = new JButton("Cancel");

private LogOn logOn = new LogOn();

class LogOn{

String username;

String password;

String[] userUsernameArray = new String[2];

String[] userPasswordArray = new String[2];

String[] adminUsernameArray = new String[1];

String[] adminPasswordArray = new String[1];

}

public LogOnInfoDialog(){

this(null, true);

}

public LogOnInfoDialog(java.awt.Frame parent, boolean child){

userUsernameArray[0] = "Ann Smyth";

userUsernameArray[1] = "John Murphy";

userPasswordArray[0] = "1";

userPasswordArray[1] = "2";

adminUsernameArray[0] = "Administrator";

adminPasswordArray[0] = "0";

super(parent, child);

setTitle("Welcome to Home Entertainment");

JPanel jp1 = new JPanel(new GridLayout(2, 1));

jp1.add(new JLabel("Username"));

jp1.add(new JLabel("Password"));

JPanel jp2 = new JPanel(new GridLayout(2, 1));

jp2.add(jtfUN);

jp2.add(jtfPW);

JPanel jp3 = new JPanel(new BorderLayout(5, 2));

jp3.add(jp1, BorderLayout.WEST);

jp3.add(jp2, BorderLayout.CENTER);

JPanel jp4 = new JPanel();

jp4.add(jbOK);

jp4.add(jbCancel);

getContentPane().add(jp4, BorderLayout.SOUTH);

getContentPane().add(jp3, BorderLayout.CENTER);

jbOK.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

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

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

setVisible(false);

if(username == userUsernameArray && password == userPasswordArray){

UserMainMenu umm = new UserMainMenu();

umm.setVisible(true);

}

if(username == userUsernameArray && password != userPasswordArray || username != userUsernameArray && password == userPasswordArray){

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

}

if(username == adminUsernameArray && password == adminPasswordArray){

AdminMainMenu amm = new AdminMainMenu();

amm.setVisible(true);

}

if(username == adminUsernameArray && password != adminPasswordArray || username != adminUsernameArray && password == adminPasswordArray){

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){

logOn = null;

setVisible(false);

}

});

}

}

james-mcfaddena at 2007-7-12 22:53:57 > top of Java-index,Java Essentials,Java Programming...
# 6

hello.

my name is james mcfadden. i did what you told me to do as best as i possibly could. but i am still having difficulty compiling the LogOn program. when i try to compile the program i get 12 errors. the program and errors are shown below. i am a newcomer to using arrays/strings with swing. would you be able to tell me how to solve these errors?

thank you very much.

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class LogOn extends JDialog{

private JTextField jtfUN = new JTextField(20);

private JPasswordField jtfPW = new JPasswordField(20);

private JButton jbOK = new JButton("OK");

private JButton jbCancel = new JButton("Cancel");

private LogOn logOn = new LogOn();

String username;

String password;

String[] userUsernameArray = new String[2];

String[] userPasswordArray = new String[2];

String[] adminUsernameArray = new String[1];

String[] adminPasswordArray = new String[1];

public LogOn(){

this(null, true);

}

public LogOn(java.awt.Frame parent, boolean child){

super(parent, child);

userUsernameArray[0] = "Ann Smyth";

userUsernameArray[1] = "John Murphy";

userPasswordArray[0] = "1";

userPasswordArray[1] = "2";

adminUsernameArray[0] = "Administrator";

adminPasswordArray[0] = "0";

setTitle("Welcome to Home Entertainment");

JPanel jp1 = new JPanel(new GridLayout(2, 1));

jp1.add(new JLabel("Username"));

jp1.add(new JLabel("Password"));

JPanel jp2 = new JPanel(new GridLayout(2, 1));

jp2.add(jtfUN);

jp2.add(jtfPW);

JPanel jp3 = new JPanel(new BorderLayout(5, 2));

jp3.add(jp1, BorderLayout.WEST);

jp3.add(jp2, BorderLayout.CENTER);

JPanel jp4 = new JPanel();

jp4.add(jbOK);

jp4.add(jbCancel);

getContentPane().add(jp4, BorderLayout.SOUTH);

getContentPane().add(jp3, BorderLayout.CENTER);

jbOK.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

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

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

if(username == userUsernameArray && password == userPasswordArray){

UserMainMenu umm = new UserMainMenu();

umm.setVisible(true);

}

if(username == userUsernameArray && password != userPasswordArray || username != userUsernameArray && password == userPasswordArray){

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

}

if(username == adminUsernameArray && password == adminPasswordArray){

AdminMainMenu amm = new AdminMainMenu();

amm.setVisible(true);

}

if(username == adminUsernameArray && password != adminPasswordArray || username != adminUsernameArray && password == adminPasswordArray){

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

}

setVisible(false);

}

});

jbCancel.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

logOn = null;

setVisible(false);

}

});

}

}

james-mcfaddena at 2007-7-12 22:53:57 > top of Java-index,Java Essentials,Java Programming...