У меня есть класс, расширяющий jApplet, и три класса, которые расширяют jpanel.Теперь я пытаюсь переключить эти jPanels на действия, предпринятые из JButtons с определенной Jpanel.
Проблема: я могу загрузить / отобразить первую панель в моем апплете, которую я установил видимой из самого апплета вметод init ().Но, когда я пытаюсь сделать то же самое от нажатия кнопки на форме jPanel, это не работает.Моя панель закрывается, но новая добавленная панель не отображается.
Код Контекст кода ниже:
- Приложение.Java - это класс апплета
- User_Login.java - это класс jpanel (1)
- Reset_Password.java - это класс jpanel (2)
При нажатии кнопки «Изменить пароль» на j-панели User_Login я хочу вызватьReset_Password jpanel.
Код указан ниже.Любая помощь высоко ценится
Application.java
package business_intelligence;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
/**
*
* @author lokesh
*/
public class Application extends JApplet {
int x = 0;
Container content_pane = getContentPane();
User_Login obj = new User_Login();
Reset_Password obj1 = new Reset_Password();
public void init() {
setVisible(true);
setSize(1200, 1000);
content_pane.add(obj);
content_pane.add(obj1);
content_pane.add(obj2);
add(obj1);
add(obj2);
add(obj);
obj.setVisible(true);
obj1.setVisible(false);
obj2.setVisible(false);
}
public void Change()
{
content_pane.removeAll();
content_pane.add(obj1);
add(obj1);
obj1.setVisible(true);
}
public void Login()
{
content_pane.removeAll();
content_pane.add(obj);
add(obj);
obj.setVisible(true);
}
}
User_Login.java
package business_intelligence;
import javax.swing.*;
import java.awt.*;
import javax.swing.JApplet.*;
import java.awt.event.*;
import java.awt.event.ActionListener;
import java.awt.event.KeyListener;
/**
*
* @author lokesh
*/
public class User_Login extends JPanel implements ActionListener {
FlowLayout f;
JLabel l1;
JLabel l2, l3, h1 ;
JButton b1;
JButton b2,b3,b4;
Font fo1 = new Font("Verdana",Font.BOLD,25);
Font fo2 = new Font("Verdana",Font.PLAIN,15);
JTextField tf1 = new JTextField();
JPasswordField tp1 = new JPasswordField();
Color bg = new Color (255,255,204);
public User_Login()
{
setVisible(true);
setSize(1200, 1000);
setBackground(bg);
setLayout(null);
h1 = new JLabel("Welcome to Business Intelligence Application -- Login");
h1.setFont(fo1);
h1.setBounds(100, 02, 800, 50);
l1 = new JLabel("User-name");
l1.setFont(fo2);
l2 = new JLabel("Password");
l2.setFont(fo2);
l3 = new JLabel();
l3.setFont(fo2);
l3.setForeground(Color.RED);
b1 = new JButton("Submit");
b2 = new JButton("Close");
b3 = new JButton("Reset Password");
b4 = new JButton("New User Request");
add(h1);
l1.setBounds(100, 100, 100, 40);
add(l1);
l2.setBounds(100, 150, 100, 40);
add (l2);
add(b1);
add(b2);
tf1.setBounds(300, 100, 200, 40);
add(tf1);
tp1.setBounds(300, 150, 200, 40);
add(tp1);
b1.setBounds(25, 260, 150, 50);
add(b1);
b2.setBounds(200, 260, 150, 50);
add(b2);
l3.setBounds(100, 200, 400, 50);
add(l3);
b3.setBounds(375, 260, 150, 50);
add(b3);
b4.setBounds(550, 260, 160, 50);
add(b4);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
}
public void verifyLogin()
{
String uid = tf1.getText();
char ch[] = tp1.getPassword();
String pwd = String.valueOf(ch);
Connect obj1 = new Connect();
obj1.connect();
int r = obj1.verifyLogin(uid, pwd);
if (r ==1)
{
setVisible(false);
Application obj = new Application();
obj.Dashboard();
}
else
{
l3.setText("Incorrect User-name or Password. Try again.");
}
}
public void actionPerformed(java.awt.event.ActionEvent evt)
{
Object ob = evt.getSource();
if(ob == b1)
verifyLogin();
else if (ob == b2)
System.exit(0);
else if (ob == b3)
{
setVisible(false);
Application obj = new Application();
obj.Change();
}
}
}
Reset_Password.java
package business_intelligence;
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionListener;
//mport java.awt.event.*;
/**
*
* @author lokesh
*/
public class Reset_Password extends JPanel implements ActionListener {
String email;
String pwd;
String cpwd;
JLabel l1,l2, l3,l4, h1 ;
JButton b1;
JButton b2;
Font fo3 = new Font("Verdana",Font.BOLD,25);
Font fo4 = new Font("Verdana",Font.PLAIN,15);
JTextField tf1 = new JTextField();
JPasswordField p1 = new JPasswordField();
JPasswordField p2 = new JPasswordField();
int r;
Color bg = new Color (255,255,204);
public Reset_Password()
{
setSize(1200, 1000);
setBackground(bg);
setLayout(null);
h1 = new JLabel("Welcome to Business Intelligence Application -- Change Password");
h1.setFont(fo3);
h1.setBounds(100, 02, 1000, 50);
add(h1);
l1 = new JLabel("E-mail");
l1.setFont(fo4);
l2 = new JLabel("New Password");
l2.setFont(fo4);
l3 = new JLabel("Confirm Password");
l3.setFont(fo4);
l4 = new JLabel("");
l4.setFont(fo4);
l4.setForeground(Color.RED);
b1 = new JButton("Submit");
b2 = new JButton("Cancel");
l1.setBounds(100, 100, 100, 40);
add(l1);
l2.setBounds(100, 150, 100, 40);
add (l2);
add(b1);
add(b2);
tf1.setBounds(300, 100, 200, 40);
add(tf1);
p1.setBounds(300, 150, 200, 40);
add(p1);
p2.setBounds(300, 200, 200, 40);
add(p2);
l3.setBounds(100, 200, 400, 50);
add(l3);
l4.setBounds(100, 250, 400, 50);
add(l4);
b1.setBounds(100, 300, 150, 50);
add(b1);
b2.setBounds(350, 300, 150, 50);
add(b2);
b1.addActionListener(this);
b2.addActionListener(this);
}
@Override
public void actionPerformed (java.awt.event.ActionEvent e)
{
Object ob = e.getSource();
if(ob == b1)
resetPassword();
if (ob == b2)
{
Application obj = new Application ();
obj.Login();
}
}
// TODO add your handling code here
/*private void ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//setVisible(false);
if (isVisible()== true)
setVisible(false);
this.remove(this);
Business_Intelligence obj = new Business_Intelligence();
obj.activated();
} */
public void resetPassword()
{
email = tf1.getText();
char ch[] = p1.getPassword();
pwd = String.valueOf(ch);
char ch1[] = p2.getPassword();
cpwd = String.valueOf(ch1);
if (ch.length >= 8)
{
if(pwd.equals(cpwd))
{
Connect obj = new Connect();
obj.connect();
int r = obj.verifyEmail(email);
if (r==1)
{
obj.connect();
obj.updat(email, pwd);
l4.setVisible(true);
l4.setText("password changed");
p1.setText(null);
p2.setText(null);
tf1.setText(null);
}
if (r==0)
{
l4.setVisible(true);
l4.setText("incorrect e-mail id");
}
}
if(!pwd.equals(cpwd))
{
//jLabel5.setForeground(Color.RED);
l4.setVisible(true);
l4.setText("password and confirm password did not match");
}
}
if (ch.length < 8)
{
//jLabel5.setForeground(Color.RED);
l4.setVisible(true);
l4.setText("password should be a minimum of 8 characters");
}
}
}