Java JApplet-尝试切换在外部类中创建的JPanels
||
我有一个扩展jApplet的类和三个扩展jpanel的类。现在,我试图将这些jPanels切换为使用特定Jpanel从JButton执行的操作。
问题:我可以在int()方法中从applet本身设置为可见的applet中加载/显示第一个面板。但是,当我尝试从按钮上单击jPanel表单执行相同操作时,它将不起作用。我面板关闭,但添加的新面板不显示。
以下代码的代码上下文:
应用。 java是applet类
用户登录。 java是jpanel类(1)
Reset_Password.java是jpanel类(2)
在User_Login jpanel上单击Change Password按钮时,我要调用Reset_Password jpanel。
代码如下。任何帮助都受到高度赞赏
应用程序
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\");
}
}
}
没有找到相关结果
已邀请:
2 个回复
戊袱
然后,当用户登录时,您必须更改活动面板,就这样更改Change方法。
结乳