面向对象方式gui

使用面向对象的方式创建gui程序

  • 创建类,并且继承Frame

    class Application(Frame):
    
  • 在构造方法中调用父类方法创建,因为创建的类无法直接创建窗口对象

    def __init__(self,master=None):
            super().__init__(master) #调用父类构造方法
            self.master = master
            self.pack()
    
  • 可以使用类方法来创建一些组件

    def create_widget(self):
            self.button = Button(self)
            self.button["text"] = "问候"
            self.button.pack()
            self.button["command"] = self.hello
            self.button_quit = Button(self,text="退出",command=self.master.destroy)
            self.button_quit.pack()
    

    同时在构造方法中调用此方法

    def __init__(self,master=None):
            super().__init__(master) #调用父类构造方法
            self.master = master
            self.pack()
            self.create_widget()
    

    也可以创建其他函数,作为组件按钮的事件绑定

    绑定方式为:

    self.button["command"] = self.hello
    

    和之前的方法不一样

    self.button.bind("<Button-1>",self.hello)
    

    使用此方法会报错

  • root.title(“设置标题”)

  • root.geometry(“窗口宽度x窗口高度+窗口距离电脑屏幕左边距离+窗口距离电脑顶部距离”)

    root = Tk()
        root.title("面向对象")
        root.geometry("400x600+400+250")
        app = Application(master=root)
        app.pack()
        root.mainloop()
    
    
    
from tkinter import *
from tkinter import messagebox

class Application(Frame):

    def __init__(self,master=None):
        super().__init__(master) #调用父类构造方法
        self.master = master
        self.pack()
        self.create_widget()

    
    def create_widget(self):
        self.button = Button(self)
        self.button["text"] = "问候"
        self.button.pack()
        self.button["command"] = self.hello
        self.button_quit = Button(self,text="退出",command=self.master.destroy)
        self.button_quit.pack()

    def hello(self):
        messagebox.showinfo("message","hello world")

def main():
    root = Tk()
    root.title("面向对象")
    root.geometry("400x600+400+250")
    app = Application(master=root)
    app.pack()
    root.mainloop()


if __name__ == "__main__":
    main()

t.mainloop()

if name == “main”:
main()

![在这里插入图片描述](https://img-blog.csdnimg.cn/e0b330788fde48868598f43119b0a9f6.png)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java面向对象程序设计中的GUI(图形用户界面)是通过使用Java的Swing或JavaFX库来实现的。下面是一些关于Java GUI编程的基本概念和步骤: 1. 导入库:首先,你需要导入Java所需的GUI库,如Swing或JavaFX。这可以通过 `import` 语句实现,例如 `import javax.swing.*;`。 2. 创建窗口:使用 `JFrame` 类或 `Stage` 类创建一个顶级窗口。例如,使用 `JFrame frame = new JFrame("My GUI");` 或 `Stage stage = new Stage();`。 3. 添加组件:将各种GUI组件(例如按钮、文本框、标签等)添加到窗口中。例如,使用 `frame.add(new JButton("Click me"));` 或 `stage.getChildren().add(new Button("Click me"));` 来添加一个按钮。 4. 布局管理器:选择合适的布局管理器来安排组件的位置和大小。常见的布局管理器包括 `FlowLayout`、`BorderLayout`、`GridLayout`和 `GridPane` 等。例如,使用 `frame.setLayout(new FlowLayout());` 或 `stage.setScene(new Scene(root));` 来设置布局。 5. 处理事件:为组件添加事件处理程序,以响应用户的交互。例如,使用 `button.addActionListener(e -> { // 处理点击事件 });` 或 `button.setOnMouseClicked(e -> { // 处理鼠标点击事件 });` 来处理按钮的点击事件。 6. 显示窗口:最后,使用 `frame.setVisible(true);` 或 `stage.show();` 来显示窗口。 这只是一个简单的示例,GUI编程有很多更复杂的方面,例如自定义绘图、使用布局约束等。但是以上步骤可以作为你开始学习Java GUI编程的基础。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值