Gui图形界面设计

GUI图形用户界面开发是前端必学的,GUI需要引用这两个系统库

import java.awt.*;
import javax.swing.*;
其次GUI我们要用到窗体的属性,这边直接继承窗体类如

public class Gui extends JFrame{
常用3种容器:Panel面板  Frame窗体  Applet小程序查看器
    窗体属性设置
1、窗体 JFrame
2、设置标题setTitle
3、设置大小setSize
4、设置窗体出现位置setLocation
5、设置窗体可见setVisible
6、关闭进程释放空间setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
7、定义按钮组件JButton an=new JButton("按钮")
8、向窗体中添加按钮add(an)
9、设置窗体大小是否可修改setResizable()true可修改 false不可修改

总结  1.  继承JFrame类
           2. 在最上方定义组件
           3. 在构造方法中创建组件
           4. 在构造方法中添加组件
           5. 设置窗体属性
           6. 显示窗体    
           7. 在主函数中创建对象 
           8. 所有布局管理器都可以添加任意组件,我这里只是拿按钮举例子,并不是只能添加按钮

下面代码是窗体里必须要的一般界面都要有的属性

this.setTitle("标题");//标题
            this.setVisible(true);//显示窗体,必须的
            this.setSize(300,200);//大小,必须
            this.setLocation(300,400);//位置
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//主动关闭进程,必须
            this.setResizable(false);//false窗体不可修改,true可修改
接下来我们弄个东西南北中的页面布局如下

public class Gui extends JFrame{
    JButton an1,an2,an3,an4,an5;    //东西南北中一共5个按钮所以定义5个按钮,定义按钮或者
                                    //其他一定是在自定义方法的前面
    Gui(){                           
             an1 =new JButton("东");//前面定义了按钮这里新建按钮属性,括号里面是按钮显示的东西
                an2 =new JButton("西");
                an3 =new JButton("南");
                an4 =new JButton("北");
                an5 =new JButton("中");
                this.add(an1,BorderLayout.EAST);  //没有设置布局默认为边界边界布局
                this.add(an2,BorderLayout.WEST);  //边界布局是分为东西南北中,如果
                this.add(an3,BorderLayout.SOUTH); //没有设定东西南北就全部在中间
                this.add(an4,BorderLayout.NORTH);  //这些都是设置按钮的位置,这行就是按钮4在南
                this.add(an5,BorderLayout.CENTER);  //EAST为东WEST为西SOUTH为南NORTH为北
        
                this.setTitle("标题");
                this.setVisible(true);
                this.setSize(300,200);
                this.setLocation(300,400);
                this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                this.setResizable(false);
            }
    public static void main(String[] args) {
        Gui dx=new Gui();    
    }
 
}
运行结果:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的Python GUI游戏开始页面的示例代码: ```python import tkinter as tk class StartPage(tk.Frame): def __init__(self, parent, controller): tk.Frame.__init__(self, parent) self.controller = controller # 创建标签并设置其属性 label = tk.Label(self, text="欢迎来到游戏世界!", font=controller.title_font) label.pack(side="top", fill="x", pady=10) # 创建按钮并设置其属性 play_button = tk.Button(self, text="开始游戏", command=lambda: controller.show_game()) play_button.pack() quit_button = tk.Button(self, text="退出游戏", command=self.quit) quit_button.pack() ``` 在这个示例中,我们创建了一个名为StartPage的类,它继承自Tkinter的Frame类。在__init__方法中,我们创建了一个标签和两个按钮,并将它们添加到Frame中。我们还将父控制器和字体属性存储在类变量中以便以后使用。 play_button的command参数使用了lambda函数来调用控制器的show_game方法。show_game方法是一个由控制器定义的方法,它将显示游戏页面。quit_button的command参数简单地将quit方法绑定到按钮上,这样当用户点击时就会退出游戏。 使用这个类的方式是,我们将它添加到我们的Tkinter窗口中。在我们的控制器类中,我们可以使用以下代码来添加StartPage页面: ```python class GameApp(tk.Tk): def __init__(self): tk.Tk.__init__(self) self.title_font = tk.font.Font(family='Helvetica', size=18, weight="bold", slant="italic") container = tk.Frame(self) container.pack(side="top", fill="both", expand=True) container.grid_rowconfigure(0, weight=1) container.grid_columnconfigure(0, weight=1) self.frames = {} for F in [StartPage, GamePage]: page_name = F.__name__ frame = F(parent=container, controller=self) self.frames[page_name] = frame frame.grid(row=0, column=0, sticky="nsew") self.show_start() def show_start(self): self.frames["StartPage"].tkraise() def show_game(self): self.frames["GamePage"].tkraise() ``` 在这个示例中,我们创建了一个名为GameApp的控制器类,它继承自Tkinter的Tk类。在__init__方法中,我们设置了标题字体并创建了一个Frame容器。我们还为每个页面创建了一个实例,并将它们添加到self.frames字典中。最后,我们调用show_start方法来显示StartPage页面。 show_start和show_game方法都使用了tkraise方法来显示相应的页面。这个方法将指定的Frame提到堆栈的最前面,以便它成为可见的页面。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值