JAVA-dispose()方法

今天在编一道JAVA例题时,看到 dispose 这个方法,在程序中是用来关闭一个GUI页面的。这也让我想到了setVisible(false)方法。
在网上查了意思,dispose()即释放所有本机屏幕资源,这些 Component 的资源将被破坏,它们使用的所有内存都将返回到操作系统,并将它们标记为不可显示。
使用dispose()方法关闭的窗体可以使用pack 或 show 方法恢复,并且可以恢复到dispose前的状态
这与 setVisible(boolean)方法是不一样的,使用dispose()和setVisible()方法,在表象上没有任何区别,它们的实质区别在于setVisible方法仅仅隐藏窗体,而dispose方法是关闭窗体,并释放一部分资源。

  • 20
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
package shiyan; import java.awt.*; import java.awt.event.*; import java.sql.*; import javax.swing.*; public class AddWin extends JFrame implements ActionListener { private static MySqlUtils mySqlUtils = new MySqlUtils(); JTextField 添加汉语解释_文本条, 添加英语单词_文本条; JButton addbtn, cancelbtn; Connection Con = null; Statement Stmt = null; public AddWin() { super("添加单词"); this.setBounds(250, 250, 250, 200); this.setVisible(true); JPanel p1 = new JPanel(); p1.add(new Label("输入要添加的单词:")); 添加英语单词_文本条 = new JTextField(20); p1.add(添加英语单词_文本条); p1.add(new Label("输入添加的单词的解释:")); 添加汉语解释_文本条 = new JTextField(20); p1.add(添加汉语解释_文本条); addbtn = new JButton("提交"); cancelbtn = new JButton("取消"); p1.add(addbtn); p1.add(cancelbtn); this.add(p1); addbtn.addActionListener(this); cancelbtn.addActionListener(this); this.validate(); } public void actionPerformed(ActionEvent e) { if (e.getSource() == addbtn) { if (添加英语单词_文本条.getText().equals("") || 添加汉语解释_文本条.getText().equals("")) { JOptionPane.showMessageDialog(this, "添加的单词或解释不能为空~", "警告", JOptionPane.WARNING_MESSAGE); } else { try { Word word = new Word(); word.setEnglish(添加英语单词_文本条.getText().toString()); word.setChinese(添加汉语解释_文本条.getText().toString()); mySqlUtils.insert(word); 添加英语单词_文本条.setText(""); 添加汉语解释_文本条.setText(""); } catch (Exception ee) { } } } else if (e.getSource() == cancelbtn) { dispose(); } } }
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究, 1/19 页 1.1 应用 Java Swing GUI 组件技术实现课程选课系统 GUI 窗口(第 1 部分) 1.1.1 实现选课系统的主窗口 SystemMainWindow 的 UI 界面 1、添加一个主窗口 类名称为 SystemMainWindow,包名称为 com.px1987.course.ui 将出现窗口界面的创建结果。 2、在主窗口内添加 5 个功能按钮 (1)添加 JButton 组件 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究, 2/19 页 (2)重复添加 5 个 JButton 组件 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究, 3/19 页 3、分别设置 5 个按钮的属性 (1)提示文字改变为如下的文字信息 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究, 4/19 页 (2)改变各个按钮的对象名称以方便后面的编程实现 5 个按钮的对象名称方便为: 1) 系统注册按钮:systemRegisterButton 2) 系统登录按钮:systemLoginButton 3) 在线选课按钮:selectCourseButton 4) 退选课程按钮:removeCourseButton 5) 退出系统按钮:exitSystemButton (3)修改后的结果如下 4、为 5 个按钮添加事件响应 (1)Action 事件 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究, 5/19 页 (2)分别创建出 5 个不同的事件响应方法 5、编程 5 个不同按钮的事件响应方法的功能实现代码 StudentManageInter oneStudentManage=null; CourseManageInter oneCourseManage=null; public SystemMainWindow() { initComponents(); /** * 创建 StudentManageImple 和 CourseManageImple 的对象实例 */ oneStudentManage=new StudentManageImple(); 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究, 6/19 页 oneCourseManage=new CourseManageImple(); } /** 退出系统按钮的事件响应 */ private void exitSystemButtonActionPerformed(java.awt.event.ActionEvent evt) { this.dispose(); System.exit(0); } /** 退选课程按钮的事件响应 */ private void removeCourseButtonActionPerformed( java.awt.event.ActionEvent evt) { oneCourseManage.removeOneCourse(); } /** 在线选课按钮的事件响应 */ private void selectCourseButtonActionPerformed( java.awt.event.ActionEvent evt) { oneCourseManage.addOneCourse(); } /** 系统登录按钮的事件响应 */ private void systemLoginButtonActionPerformed(java.awt.event.ActionEvent evt) { oneStudentManage.systemLogin(); 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究, 7/19 页 } /** 系统注册按钮的事件响应 */ private void systemRegisterButtonActionPerformed(java.awt.event.ActionEvent evt) { oneStudentManage.systemRegister(); } 6、测试主窗口内的"退出系统"按钮的正确性 点击"退出系统"按钮后,将关闭主窗口,同时退出本系统程序。 1.1.2 课程选课系统注册窗口的 UI 实现 1、打开 Form 设计器 (1)设置包名称为 com.px1987.course.ui,类名称为 StudentRegisterWin

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值