十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
CS结构系统的退出如下:public void init() {
创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站建设、网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的杞县网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
this.setTitle("用户登录界面");
this.add(createCenterPane());
this.setDefaultCloseOperation(this.DO_NOTHING_ON_CLOSE);
this.setSize(new Dimension(450, 335));
this.setLocationRelativeTo(null);
// this.setVisible(true);
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
int choose = JOptionPane.showConfirmDialog(null, "是否要退出登录界面?",
"系统提示:", JOptionPane.YES_NO_OPTION);
if (choose == JOptionPane.YES_OPTION) {
System.exit(1);
}
}
});
}其中this为JFrame对象。BS结构的退出直接用windows.close()方法就行了!
不要复杂化,代码要简单化,需求是什么就写什么。参考如下:
//用于保存用户帐户信息的数组
Scanner scanner = new Scanner(System.in);
String[] user = new String[2];
while (true) {
//银行主界面
System.out.println("------------------------------欢迎来到银行------------------------------");
System.out.println("请选择编号:\n1:注册\n2:登录\n3退出");
int num = scanner.nextInt();
switch (num) {
case 1:
//注册
System.out.println("请输入您的账户名:");
String name = scanner.next();
user[0] = name;
System.out.println("请输入您的密码:");
String password = scanner.next();
user[1] = password;
System.out.println("注册成功!");
//返回主界面
break;
case 2:
while (true) {
//登录
System.out.println("请输入您的帐户名:");
String userName = scanner.next();
System.out.println("请输入您的密码:");
String userPwd = scanner.next();
//判断输入的用户名是否在数组中存在(判断该用户是否注册)
if(user[0].equals(userName)user[1].equals(userPwd)){
System.out.println("-----------登录成功,请选择您要办理的业务------------");
break;
}else{
System.out.println("-----------用户名或密码错误,请重新输入------------");//返回到登录界面
continue;
}
}
break;
case 3:
//退出系统 程序结束
System.out.println("退出成功,欢迎再次使用");
System.exit(0);
break;
default:
break;
}
}
这代码看得好累啊。下次记得要排版!
这里面只有一个类啊,就是你所说的主界面吧?
我理一下你的思路:程序运行时,先出现一个登录界面(假设你已经定义好了,名为LoginFrame),输入正确的用户名与密码,然后再出现这个主界面(NewFrame),然后操作完成后退出登录,返回到登录界面,是吧?
下次,请把自己的问题描述清楚,别人才好帮你。下面回到问题本身。
这个NewFrame类修改一下:
增加一个类字段:
JFrame loginFrame=null;
增加一个重载的构造器:
public NewFrame(JFrame loginFrame)
{
this();//调用无参构造器
this.loginFrame=loginFrame;
}
登录界面调用主界面的代码:
new NewFrame(this);//要用有参的构造器,传递登录界面的引用到主界面对象中
this.setVisible(false);//隐藏登录界面
在主界面返回时的代码:
if(loginFrame!=null) loginFrame.setVisible(true);//显示登录界面
this.dispose();//销毁主界面,也可以用setVisible(false);来隐藏
在一个纯java项目中,登录就是你从客户端收受账户和密码,和数据库中已有的键值对进行匹配,如果匹配顺利,就显示登录成功。接着后台向前台返回数据,跳转到相应的页面。匹配程序可以单独写一个类,或者在工具类中封装一个方法,传入前台发过来的数据,最后返回一个布尔值。
退出功能的实现,就是后台发送数据,直接退出当前账户。或者关闭客户端。
CS结构系统的退出如下:public void init() {
this.setTitle("用户登录界面");
this.add(createCenterPane());
this.setDefaultCloseOperation(this.DO_NOTHING_ON_CLOSE);
this.setSize(new Dimension(450, 335));
this.setLocationRelativeTo(null);
// this.setVisible(true);
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
int choose = JOptionPane.showConfirmDialog(null, "是否要退出登录界面?",
"系统提示:", JOptionPane.YES_NO_OPTION);
if (choose == JOptionPane.YES_OPTION) {
System.exit(1);
}
}
});
}其中this为JFrame对象。BS结构的退出直接用windows.close()方法就行了!