窗体继承,然后实现按钮点击事件的重写

本文介绍了一种实现窗体继承的方法,并详细阐述如何在子类中重写父类窗体按钮的点击事件,以实现不同功能。通过创建虚方法,子类可以轻松定制按钮点击行为,从而达到界面统一、减少重复代码和便于代码管理的效果。
摘要由CSDN通过智能技术生成
  做了一阵子Winform的程序之后,越来越能够做到把窗体、控件等都看作类来对待了。以前做VB的时候,对这些控件都是有一种敬畏的心理,根本就不敢对其做什么,而且当时也的确做不了什么,因为没有面向对象的继承、重载、重写什么的,呵呵。现在不一样了,所有的东西都是类,所以面向对象的各种操作都是可以完成的。(只是发现的有点儿晚啊。)

下面的例子实现了窗体的继承,并在子类里面自动完成了对父类窗体里面的按钮点击事件的重写。

步骤一:建立一个窗体Form1,并在上面放置一个按钮。

步骤二:编写按钮的点击事件,并进行重构,抽出方法。

        private void button1_Click(object sender, EventArgs e)
        {
            SearchData();
        }

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 可以使用以下代码实现窗体关闭但不退出运行: ``` this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); ``` 这会关闭窗体,但不会退出应用程序。 ### 回答2: 继承Frame的窗体如何关闭但不退出运行? 一种常见的方法是通过重写窗体的窗口关闭事件实现。可以在重写的方法中添加自定义的逻辑来处理窗体关闭操作。 首先,可以通过重写窗口关闭事件的方法来实现。在继承自Frame的窗体类中,可以重写`WindowListener`接口中的`windowClosing()`方法,该方法会在窗口关闭时被调用。在重写的方法中,可以添加关闭窗口时需要执行的逻辑,例如隐藏窗口、清除数据等操作。 示例代码如下: ```java import java.awt.*; import java.awt.event.*; public class MyFrame extends Frame { public MyFrame() { // 初始化窗体 setSize(300, 200); setTitle("My Frame"); setVisible(true); // 添加窗口关闭事件监听器 addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { // 自定义的关闭逻辑 setVisible(false); // 隐藏窗口 dispose(); // 释放窗口资源 // 可以添加其他需要执行的逻辑操作 // ... } }); } public static void main(String[] args) { new MyFrame(); } } ``` 在以上示例中,通过重写`windowClosing()`方法,采取了隐藏窗口和释放窗口资源的操作。这样就可以关闭窗体,但是程序仍然在运行。如果需要再次打开窗体,可以通过其他方式,如按钮点击操作,再次将窗体设置为可见。当然,还可以在窗体关闭事件中添加其他自定义的逻辑操作,根据实际需求进行处理。 ### 回答3: 继承Frame的窗体在关闭时可以通过重写窗体的关闭事件实现关闭但不退出运行。 在继承Frame的窗体类中,可以重写窗体的关闭事件方法`public void windowClosing(WindowEvent e)`。在该方法中,可以添加自定义的逻辑来实现窗体的关闭操作。 例如,可以在`windowClosing`方法中调用`setVisible(false)`来隐藏窗体,并在窗体的其他逻辑处理中重新显示窗体或执行其他操作。即使窗体被隐藏了,程序仍然会继续运行。 示例代码如下: ``` import java.awt.*; import java.awt.event.*; public class MyFrame extends Frame { public MyFrame() { // 初始化窗体 setSize(300, 200); setLocationRelativeTo(null); setVisible(true); // 添加窗体关闭事件监听器 addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { // 自定义的关闭操作 setVisible(false); // 其他逻辑处理 // ... } }); } public static void main(String[] args) { new MyFrame(); } } ``` 在上述代码中,窗体默认会在关闭按钮被点击时触发`windowClosing`方法,其中我们通过调用`setVisible(false)`来隐藏窗体,从而实现了关闭但不退出运行的效果。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值