|
Hello Every Body , I have written a Login screen for AS/400 with Grid Layout Constraints. I am not able to proceed after one step. I am new to Java programming so please help me in completing the following code. The basic requirement is it should connect to the as400 when accessing from the we browser. I was able to complete till the connection. This code will prompt for a login using Dialog box. My requirements are 1. Since it will take some time to connect to the as400 , so during that time I want to activate a progress bar , but not able to accomplish that. 2. I am not able to throw as400 connection event by which I thought I can activate. 3. It is working fine other wise. 4. How to trap the connection event and implement 5. How to activate a progress bar. 6. Please give me suggestions to improve my coding techniques. 7. How to retrieve a flag such that , the NET.data macro from which I am calling this applet realizes that the connection has been established. My main program /*************************************************************************** *******************/ /* Program Name : login.java */ /* */ /* Description : Java Applet Program that receives the UserId & Password */ /* and performs the Validations */ /* */ /* Referenced Classes : screen */ /*************************************************************************** *******************/ import com.ibm.as400.access.*; import java.awt.*; import java.awt.event.*; import java.io.*; import java.applet.*; import javax.swing.*; public class AS400login extends Applet { public void init(){ LoginDialog as400signon = new LoginDialog(); as400signon.setResizable(false); as400signon.show(); } public static void main(String args[]){ LoginDialog as400signon = new LoginDialog(); as400signon.setResizable(false); as400signon.show(); } } class LoginDialog extends Dialog { Button Signon = new Button("Signon"); Button Cancel = new Button("Cancel"); TextField SignonSystem = new TextField("MICO11",10); TextField User = new TextField(10); TextField Password = new TextField(10); Label SystemName = new Label("System "); Label UserName = new Label("User "); Label PasswordEntry = new Label("Password"); Label Blank = new Label("Connecting to MICO11"); AS400 as400 = new AS400("" ,"" , "" ); int rcode=0; //Progress Bar Simulation. JProgressBar pbar = new JProgressBar(JProgressBar.HORIZONTAL); char EchoChar = '*'; Panel p0 = new Panel(); Panel p1 = new Panel(); Panel p2 = new Panel(); BorderLayout borderlayout = new BorderLayout(); GridBagLayout gridbag = new GridBagLayout(); GridBagConstraints c1 = new GridBagConstraints(); GridBagConstraints c2 = new GridBagConstraints(); public LoginDialog () { //For Creating a Dialog Box Frame super(new Frame("AS/400 Signon Frame") ,"AS4/00 Signon Prompt", true ); this.setLayout(borderlayout); resize(300,250); move(240,240); //to add the action Listeners. addWindowListener(new WindowEventHandler()); Signon.addActionListener(new HandleButton()); Cancel.addActionListener(new HandleButton()); as400.addConnectionListener(new as400ConnectionEvent()); borderlayout.setVgap(5); // Add the panels to the frame. add(p0,BorderLayout.NORTH); // Image Panel add(p1,BorderLayout.CENTER); // Field Panel add(p2,BorderLayout.SOUTH); //Button Panel //The Intial Prompt Screen Intialisation Password.setEchoChar(EchoChar); Blank.disable(); pbar.disable(); SignonSystem.setEditable(false); SystemName.setFont(new java.awt.Font("dialog",1,12)); UserName.setFont(new java.awt.Font("dialog",1,12)); PasswordEntry.setFont(new java.awt.Font("dialog",1,12)); SystemName.setAlignment(java.awt.Label.LEFT); UserName.setAlignment(java.awt.Label.LEFT); PasswordEntry.setAlignment(java.awt.Label.LEFT); User.requestFocus(); //creating a panel for arangement of the p0.setLayout(gridbag); p1.setLayout(gridbag); p2.setLayout(gridbag); p0.add(Blank); //changing the relative positions. c1.weightx = 1.0; c1.gridwidth = GridBagConstraints.RELATIVE; gridbag.setConstraints(SystemName, c1); p1.add(SystemName); c1.gridwidth = GridBagConstraints.REMAINDER; gridbag.setConstraints(SignonSystem, c1); p1.add(SignonSystem); c1.weighty = 1.0; c1.gridwidth = GridBagConstraints.RELATIVE; gridbag.setConstraints(UserName, c1); p1.add(UserName); c1.gridwidth = GridBagConstraints.REMAINDER; gridbag.setConstraints(User, c1); p1.add(User); c1.weighty = 0.5; c1.weightx = 0.0; c1.gridwidth = GridBagConstraints.RELATIVE; gridbag.setConstraints(PasswordEntry, c1); p1.add(PasswordEntry); c1.gridwidth = GridBagConstraints.REMAINDER; gridbag.setConstraints(Password, c1); p1.add(Password); c2.weighty = 0.0; c2.weightx = 0.5; c2.gridwidth = GridBagConstraints.RELATIVE; gridbag.setConstraints(Signon, c2); p2.add(Signon); c2.gridwidth = GridBagConstraints.REMAINDER; gridbag.setConstraints(Cancel, c2); p2.add(Cancel); c2.weighty = 1.0; c2.weightx = 1.0; c2.gridwidth = GridBagConstraints.CENTER; gridbag.setConstraints(Blank,c2); p2.add(Blank); c2.weighty = 1.0; c2.gridwidth = GridBagConstraints.CENTER; gridbag.setConstraints(pbar,c2); p2.add(pbar); } class HandleButton implements ActionListener { // Handle the clicking of a button public void actionPerformed(ActionEvent ev){ String s=ev.getActionCommand(); if (s.equals("Signon")) { if(User.getText().length() == 0) { String ErrorMessage = "User Field cannot be blanks"; OKDialog myDialog = new OKDialog(ErrorMessage); myDialog.setResizable(false); myDialog.show(); User.requestFocus(); return ; } if(Password.getText().length() == 0) { String ErrorMessage = "Password Field cannot be blanks"; OKDialog myDialog = new OKDialog(ErrorMessage); myDialog.setResizable(false); myDialog.show(); Password.requestFocus(); return ; } } if (s.equals("Cancel")) { dispose(); return; } try{ /*************************************************************************** *******************/ /* AS400 Connecting routine */ /*************************************************************************** *******************/ as400.disconnectAllServices(); as400 = new com.ibm.as400.access.AS400(SignonSystem.getText() ,User.getText(),Password.getText()); as400.setGuiAvailable(false); if(as400.validateSignon(User.getText(),Password.getText())) { String ErrorMessage = "Good Connected"; OKDialog myDialog = new OKDialog(ErrorMessage); myDialog.setResizable(false); myDialog.show(); Password.requestFocus(); Signon.disable(); Blank.disable(); pbar.disable(); return ; } } catch(AS400SecurityException e) { /*************************************************************************** *******************/ /* Displaying error messges */ /*************************************************************************** *******************/ rcode = e.getReturnCode(); if(rcode == AS400SecurityException.USERID_UNKNOWN) { String ErrorMessage = "Invalid User Profile"; OKDialog myDialog = new OKDialog(ErrorMessage); myDialog.setResizable(false); myDialog.show(); Signon.enable(); Blank.disable(); pbar.disable(); User.requestFocus(); return ; } else if(rcode == AS400SecurityException.PASSWORD_INCORRECT) { String ErrorMessage = "Password not Valid"; OKDialog myDialog = new OKDialog(ErrorMessage); myDialog.setResizable(false); myDialog.show(); Signon.enable(); Blank.disable(); pbar.disable(); Password.requestFocus(); return ; } else { String ErrorMessage = "Error -Contact System Admin"; OKDialog myDialog = new OKDialog(ErrorMessage); myDialog.setResizable(false); myDialog.show(); Signon.enable(); Blank.disable(); pbar.disable(); User.requestFocus(); return ; } } catch(java.beans.PropertyVetoException ve){} catch(IOException ie){} } } class as400ConnectionEvent implements ConnectionListener { public void connected(ConnectionEvent e) { Signon.disable(); Blank.enable(); pbar.enable(); } public void disconnected(ConnectionEvent e) { String ErrorMessage = "Good disConnected"; OKDialog myDialog = new OKDialog(ErrorMessage); myDialog.setResizable(false); myDialog.show(); } } } class WindowEventHandler extends WindowAdapter { // Handle the window's closing public void windowClosing(WindowEvent e){ System.exit(0); } } /*********************** End Of The Program ***************************************************/ Dialog Box Class import java.applet.Applet; import java.awt.Dialog; import java.awt.Frame; import java.awt.Button; import java.awt.Label; import java.awt.Panel; import java.awt.Event; import java.awt.BorderLayout; public class OKDialog extends Dialog { Button OK = new Button("OK"); public OKDialog(String ErrorMessage) { super(new Frame("Error Message" ) ,"Error Message", true ); addWindowListener(new WindowEventHandler()); BorderLayout borderlayout = new BorderLayout(); this.setLayout(borderlayout); Label Blank = new Label(ErrorMessage); Blank.setAlignment(Label.CENTER); Blank.setBackground(new java.awt.Color(179,209,220)); resize(275, 150); move(300,300); Panel p1 = new Panel(); p1.setLayout(null); Blank.setBounds(25,25,225,40); OK.setBounds(125,75,25,25); p1.add(Blank); p1.add(OK); add(p1,BorderLayout.CENTER); } public boolean action(Event e, Object o) { if (e.target == OK) { dispose(); return true; } return false; } } Please help me. With regards Padmanabhan +--- | This is the JAVA/400 Mailing List! | To submit a new message, send your mail to JAVA400-L@midrange.com. | To subscribe to this list send email to JAVA400-L-SUB@midrange.com. | To unsubscribe from this list send email to JAVA400-L-UNSUB@midrange.com. | Questions should be directed to the list owner: joe@zappie.net +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.