Day27图形界面的布局管理

学习目标

图形界面的布局管理

(1):对话框
(2):面板
(3):布局
(4):单/多选按钮
(5):列表

学习内容

(1):对话框
package Demo01;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import static javax.swing.WindowConstants.EXIT_ON_CLOSE;

public class DialogDemo01 extends JDialog {
   

    public DialogDemo01(JFrame jframe) {
   
        super(jframe,false);
        this.setBounds(100,100,500,500);

        Container container = this.getContentPane();
        container.setLayout(null);
//        container.add(new Label("大数据五班"));
        JButton button = new JButton("我是五班");
        button.setBounds(30,30,200,50);
        container.add(button);
    }

    public static void main(String[] args) {
   
        JFrame j = new JFrame();
        j.setVisible(true);
        j.setBounds(100,100,700,500);
        j.setDefaultCloseOperation(EXIT_ON_CLOSE);

        Container container = j.getContentPane();
        container.setLayout(null);

        JButton button = new JButton("我要登录");
        button.setBounds(30,30,200,50);
        button.addActionListener(new ActionListener() {
   
            @Override
            public void actionPerformed(ActionEvent e){
   
                DialogDemo01 s = new  DialogDemo01(j);
                s.setVisible(true);
                System.out.println("我被点击了");

            }
        });
        container.add(button);
    }
}

结果为:
在这里插入图片描述

(2):面板

JPanel
面板组件,非顶层容器。

一个界面只可以有一个JFrame窗体组件,但是可以有多个JPanel面板组件,而JPanel上也可以使用FlowLayout,BorderLayout,GridLayout等各种布局管理器,这样可以组合使用,达到较为复杂的布局效果。
例如:

package Demo02;

import java.awt.Container;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;


//面板作为容器不能单独存在,必须放到其他容器里面JFrame,JDialog
	public class JPaneDemo extends JFrame {
   
	public JPaneDemo() {
   
	Container container = this .getContentPane();
	container.setLayout((new GridLayout( 2,1,10,10)));
	JPanel panel = new JPanel(new GridLayout(1, 3
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,下面是一个简单的 Python 图形界面万年历示例: ```python import calendar import tkinter as tk class CalendarGUI: def __init__(self, master): self.master = master self.master.title("万年历") self.year = tk.StringVar() self.month = tk.StringVar() self.yearentry = tk.Entry(self.master, textvariable=self.year) self.yearentry.pack(side=tk.LEFT) self.monthentry = tk.Entry(self.master, textvariable=self.month) self.monthentry.pack(side=tk.LEFT) self.showbutton = tk.Button(self.master, text="显示", command=self.show_calendar) self.showbutton.pack(side=tk.LEFT) self.quitbutton = tk.Button(self.master, text="退出", command=self.master.quit) self.quitbutton.pack(side=tk.LEFT) def show_calendar(self): year = int(self.year.get()) month = int(self.month.get()) cal = calendar.monthcalendar(year, month) self.calendar = tk.Toplevel(self.master) self.calendar.title("万年历") for week in cal: for day in week: daystring = str(day) if day != 0 else "" tk.Label(self.calendar, text=daystring, width=4, height=2, relief="groove").grid(row=cal.index(week), column=week.index(day)) root = tk.Tk() calendar_gui = CalendarGUI(root) root.mainloop() ``` 这个示例使用了 tkinter 库来创建图形用户界面,使用了 calendar 库来生成万年历数据。在窗口输入年份和月份,点击“显示”按钮即可在新窗口显示该月份的万年历。 ### 回答2: 图形界面万年历Python是一个使用Python编程语言开发的日历应用程序,它具有用户友好的图形界面,在计算机上提供方便的日历功能。 该程序的主要功能包括: 1. 显示当前日期和时间:程序会自动获取当前的系统日期和时间,并在界面上显示出来,用户可以一目了然地了解当前的日期和时间。 2. 显示每月的日历:用户可以选择年份和月份,程序会生成相应月份的日历,并将其显示在界面上。用户可以通过点击月份或年份的下拉列表选择特定的月份或年份,方便查看不同的日期。 3. 提供农历信息:除了公历日期,该程序还提供农历日期的显示功能。用户在查看日历时,可以选择显示公历或农历日期,以满足不同用户的需求。 4. 周数显示:程序可以根据用户选择的日期,自动计算并显示对应的周数,方便用户快速确定所在周。 5. 重要节日提醒:该程序会在界面上显示一些常见的重要节日,并在该节日的日期上做出特殊标识,提醒用户注意。用户也可以自定义特殊日期,并在日历上添加标志。 6. 其它功能:该程序还提供一些额外的功能,如显示每天的天气预报、添加备忘录功能等。 使用Python编程语言开发图形界面万年历,可以使得用户在使用过程更加方便、直观,不需要通过命令行输入命令,而是通过点击界面上的按钮和选择框等进行操作。图形界面的设计可以根据用户的审美和使用习惯进行自定义,使得用户可以更好地适应和使用该万年历应用程序。编程过程,可以使用Python的图形界面库如Tkinter、PyQT等来实现界面的设计和交互功能的开发。 ### 回答3: 万年历是一个用于显示和管理时间的工具。在图形界面使用Python编写一个万年历程序,可以使用户简单地查看任意年份和月份的日历。 首先,使用Python的图形界面库(如Tkinter)创建一个窗口。窗口包含一个输入框用于输入年份和月份,还有一个按钮用于提交查询。 当用户点击提交按钮时,程序会从输入框获取用户输入的年份和月份。然后,根据输入的年份和月份使用Python的日期和时间库,计算出该月的天数和第一天是星期几。 接下来,程序会在窗口创建一个表格,用于显示整个月份的日期。程序根据计算得到的结果,依次在表格填充日期。为了美观和清晰,可以给表格的周末日期添加特殊的颜色或背景。 同时,程序还可以在表格上方显示当前查询的年份和月份,方便用户查看。另外,可以添加一些按钮用于切换到前一个月份和后一个月份。 最后,当用户点击切换按钮时,程序会根据当前显示的月份的上一个月或下一个月的日期,更新表格的内容,并更新显示的年份和月份。 通过以上实现,用户可以方便地查看任意年份和月份的日历,实现了一个图形化的万年历程序。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值