如何在java程序中,当点击一个按钮后,关闭当前窗口,开启一个新的窗口。
2019-03-12 17:02:19
微信公开课小程序热门讨论「如何在java程序中,当点击一个按钮后,关闭当前窗口,开启一个新的窗口。」最新回复-首先分析需要的GUI技术java中一般使用swing和awt技术来实现图形界面,Swing组件较多,功能比较强大,所以这里使用Swing组件来实现。窗口使用(JFrame),按钮使用(JButton)。设想一个符合题目需求的场景两个窗口关联并且跳转,最常见的场景就是登陆了。登陆窗口,输入用户名和密码,如果成功就跳转到主窗口核心逻辑,跳转窗口的关键代码一般可以隐藏本窗口(setVisible(false);),显示新窗口来实现窗口的跳转。但是隐藏窗口,会在后面浪费系统资源。如果不再使用该窗口,应该彻底销毁(dispose();),释放系统资源代码和注释LoginFrame类importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;//LoginFrame登陆窗口功能实现用户登陆,如果成功就跳转//LoginFrame继承于窗口类,并实现ActionListener接口publicclassLoginFrameextendsJFrameimplementsActionListener{//申明需要的组件JButtonjb1,jb2;//按钮JTextFieldjtf1;//文本框JPasswordFieldjpf1;//密码框publicLoginFrame(){//窗口属性的设置setTitle(登陆窗);//窗口标题setSize(300,180);//窗口大小setLocationRelativeTo(null);//窗口居中setDefaultCloseOperation(EXIT_ON_CLOSE);//关闭窗口则退出虚拟机setLayout(newFlowLayout());//设置布局流式布局JPaneljp=newJPanel(newGridLayout(4,1));//设置面板为表格布局4行1列//第一行JPaneljp1=newJPanel();JLabeljl1=newJLabel(账号);jtf1=newJTextField(12);jp1.add(jl1);jp1.add(jtf1);jp.add(jp1);//第二行JPaneljp2=newJPanel();JLabeljl2=newJLabel(密码);jpf1=newJPasswordField(12);jp2.add(jl2);jp2.add(jpf1);jp.add(jp2);//第三行JPaneljp3=newJPanel();jb1=newJButton(登陆);jb1.addActionListener(this);//添加动作响应器jb2=newJButton(重置);jb2.addActionListener(this);//添加动作响应器jp3.add(jb1);jp3.add(jb2);jp.add(jp3);//第四行JPaneljp4=newJPanel();JLabeljl3=newJLabel(提示:账号admin密码123);jl3.setForeground(Color.DARK_GRAY);jp4.add(jl3);jp.add(jp4);add(jp);}//动作响应publicvoidactionPerformed(ActionEvente){Stringcmd=e.getActionCommand();//根据动作命令,来进行分别处理if(cmd.equals(登陆)){Stringid=jtf1.getText();//取得用户名Stringkey=newString(jpf1.getPassword());//取得密码if(id.equals(admin)&&key.equals(123)){//判断是否登录成功//如果登录成功setVisible(false);//本窗口隐藏,newMainFrame(id).setVisible(true);//新窗口显示dispose();//本窗口销毁,释放内存资源}else{//如果登录失败弹出提示JOptionPane.showMessageDialog(this,用户名或者密码错误.,通知,JOptionPane.ERROR_MESSAGE);clearText();//清空文本框密码框的输入}}elseif(cmd.equals(重置)){clearText();}}privatevoidclearText(){//清空文本框,密码框的输入jtf1.setText();jpf1.setText();}//main方法,程序的入口publicstaticvoidmain(String[]args){newLoginFrame().setVisible(true);//创建登录窗口,并可见}}MainFrame类importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassMainFrameextendsJFrame{publicMainFrame(Stringname){setTitle(主窗口);//标题setSize(300,260);//大小setLocationRelativeTo(null);//居中setDefaultCloseOperation(EXIT_ON_CLOSE);JPaneljp=newJPanel();JLabeljl1=newJLabel(欢迎);JLabeljl2=newJLabel(name);jl2.setForeground(Color.BLUE);//设置文本颜色JLabeljl3=newJLabel(使用系统.);jp.add(jl1);jp.add(jl2);jp.add(jl3);add(jp,BorderLayout.NORTH);JTextAreajta=newJTextArea();jta.setLineWrap(true);jta.append(消息提示);jta.append(消息!通知~!);JScrollPanejsp=newJScrollPane(jta,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);add(jsp);JPaneljp2=newJPanel();JButtonjb=newJButton(退出);jb.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){System.exit(0);//退出}});jp2.add(jb);add(jp2,BorderLayout.SOUTH);}}运行效果图
JButtonbtn=newJButton(newAbstractAction(关闭并打开){@OverridepublicvoidactionPerformed(ActionEvente){oldFrame.dispose();//关闭并销毁,无需销毁可采用oldFrame.setVisible(false);newFrame.setVisible(true);//打开新窗口}});importjavax.swing.*;importjava.awt.Rectangle;importjava.awt.event.*;publicclassSwing7extendsJFrameimplementsActionListener{JButtonjb=newJButton();publicSwing7(){this.setTitle(Java——);jb.setText(确定);jb.setMnemonic(a);this.add(jb);this.setBounds(200,300,250,300);ctionListener就是Swing7实例。}publicvoidactionPerformed(ActionEvente){//实现ActionListener接口的actionPerformed接口。JFrameframe=newJFrame(新窗口);//构造一个新的JFrame,作为新窗口。frame.setBounds(//让新窗口与Swing7窗口示例错开50像素。newRectangle((int)this.getBounds().getX()+50,(int)this.getBounds().getY()+50,(int)this.getBounds().getWidth(),(int)this.getBounds().getHeight()));JLabeljl=newJLabel();//注意类名别写错了。frame.getContentPane().add(jl);jl.setText(这是新窗口);jl.setVerticalAlignment(JLabel.CENTER);jl.setHorizontalAlignment(JLabel.CENTER);//注意方法名别写错了。frame.setVisible(true);}publicstaticvoidmain(Stringargs[]){Swing7s=newSwing7();}} 更多有关「如何在java程序中,当点击一个按钮后,关闭当前窗口,开启一个新的窗口。」的疑问请扫码关注微信公开课+小程序!
JButtonbtn=newJButton(newAbstractAction(关闭并打开){@OverridepublicvoidactionPerformed(ActionEvente){oldFrame.dispose();//关闭并销毁,无需销毁可采用oldFrame.setVisible(false);newFrame.setVisible(true);//打开新窗口}});importjavax.swing.*;importjava.awt.Rectangle;importjava.awt.event.*;publicclassSwing7extendsJFrameimplementsActionListener{JButtonjb=newJButton();publicSwing7(){this.setTitle(Java——);jb.setText(确定);jb.setMnemonic(a);this.add(jb);this.setBounds(200,300,250,300);ctionListener就是Swing7实例。}publicvoidactionPerformed(ActionEvente){//实现ActionListener接口的actionPerformed接口。JFrameframe=newJFrame(新窗口);//构造一个新的JFrame,作为新窗口。frame.setBounds(//让新窗口与Swing7窗口示例错开50像素。newRectangle((int)this.getBounds().getX()+50,(int)this.getBounds().getY()+50,(int)this.getBounds().getWidth(),(int)this.getBounds().getHeight()));JLabeljl=newJLabel();//注意类名别写错了。frame.getContentPane().add(jl);jl.setText(这是新窗口);jl.setVerticalAlignment(JLabel.CENTER);jl.setHorizontalAlignment(JLabel.CENTER);//注意方法名别写错了。frame.setVisible(true);}publicstaticvoidmain(Stringargs[]){Swing7s=newSwing7();}} 更多有关「如何在java程序中,当点击一个按钮后,关闭当前窗口,开启一个新的窗口。」的疑问请扫码关注微信公开课+小程序!
标签:微信公开课,小程序
「如何在java程序中,当点击一个按钮后,关闭当前窗口,开启一个新的窗口。」热议话题订阅
方法1:微信扫描微信公开课小程序码即可订阅热议话题「如何在java程序中,当点击一个按钮后,关闭当前窗口,开启一个新的窗口。」
方法2:微信搜索微信公开课小程序名称进入,即可订阅热议话题「如何在java程序中,当点击一个按钮后,关闭当前窗口,开启一个新的窗口。」
方法3:微信网页访问即速商店,长按识别微信公开课小程序码即可订阅热议话题「如何在java程序中,当点击一个按钮后,关闭当前窗口,开启一个新的窗口。」
微信公开课小程序热议话题「如何在java程序中,当点击一个按钮后,关闭当前窗口,开启一个新的窗口。」由微信公开课原创摘录于微信小程序商店shop.jisuapp.cn,转载请注明出处。
微信公开课热议话题「如何在java程序中,当点击一个按钮后,关闭当前窗口,开启一个新的窗口。」由微信公开课开发者向微信用户提供,并对本服务内容、数据资料及其运营行为等真实性、合法性及有效性承担全部责任。
微信公开课小程序
更新时间:2019-03-12 17:02:19
>
__methodCallerx27;ofundefined
>-404011cloudfunctionexecutionerror
>,请补充选择商家自营-预付卡销售-发行方类目,并在基础信息处申请该类目,通过
>:host在模拟器中显示无效
>:请在小程序服务页面上架正式(非测试)内容或商品后重新提交审核
>.net 微信小程序 上传图片
>'setTimeout'的问题
>‘三朵里熙SPA主题减压空间’为什么搜索关键词‘三朵里‘搜不到
>‘扫普通链接二维码打开小程序‘中设置为体验版,扫码打开是线上版本
>“cloudfunctions**indexjs”gitignore
>“NO ULINK DEVICE FOUND”是怎么回事
>“万马掌上校园”的类目审核
>“上线了”公司开发的微信小程序怎么样?
>“产品是否一定需要条形码”
>