思前想后,还是学学Swing吧

案例展示

代码

public static void main(String[] args) {
        JDialog dialog = new JDialog();
        // 设置大小
        dialog.setSize(300, 300);
        // 设置标题
        dialog.setTitle("登录界面");
        JLabel unameLabel = new JLabel("账号:");
        JTextField unameField = new JTextField();
        JLabel upsdLabel = new JLabel("密码:");
        JTextField upsdField = new JTextField();
        JButton login = new JButton("登录");
        JButton cancel = new JButton("取消");
        // 设置位置与大小
        unameLabel.setBounds(50, 50, 50, 30);
        unameField.setBounds(100, 50, 150, 30);
        upsdLabel.setBounds(50, 100, 50, 30);
        upsdField.setBounds(100, 100, 150, 30);
        login.setBounds(60, 160, 60, 40);
        cancel.setBounds(160, 160, 60, 40);
        // 设置布局为空,使用坐标控制控件位置的时候,一定要设置布局为空
        dialog.setLayout(null);
        // 添加控件
        dialog.add(login);
        dialog.add(cancel);
        dialog.add(unameField);
        dialog.add(unameLabel);
        dialog.add(upsdLabel);
        dialog.add(upsdField);
        // 设置dislog的相对位置,参数为null,即显示在屏幕中间
        dialog.setLocationRelativeTo(null);
        // 设置当用户在此对话框上启动 "close" 时默认执行的操作
        dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
        // 设置是否显示
        dialog.setVisible(true);
    }

效果

这里写图片描述


知识点剖析

常用容器(如窗口等)

JDialog :

创建自定义的对话框,一个带标题和边界的顶层窗口

JFrame(本次案例没有用到):

带有标题和边框的顶层容器,也可以看做一个窗口

Container(本次案例没有用到)

是一个公共的抽象基类,可以用于依赖注入,控制子类对象实例的实现。

Panel(本次案例没有用到)

最简单的容器类

ScrollPane(本次案例没有用到)

实现用于单个子组件的自动水平和/或垂直滚动的容器类

Window(本次案例没有用到)

实现一个没有边界和菜单栏的顶层窗口。


常用控件

Jlabel

文字标签

JTextField

输入框

JButton

按钮


属性

1、常用属性:

setLocationRelativeTo

设置窗口相对于指定组件的位置。
参数为null时,显示位置为屏幕中间

setDefaultCloseOperation

设置当用户在此对话框上启动 “close” 时默认执行的操作

参数一般为 JDialog.DISPOSE_ON_CLOSE

setVisible

根据参数,设置可见不可见

setSize

第一个参数为宽度,第二个参数为高度

setTitle

设置题目

setBounds

四个参数分别是x坐标,y坐标,宽度,高度

setText

设置文本,如JButton、JLabel

add

容器添加控件

setLayout

容器设置布局方式

2、特殊属性

setModel(JDialog,本次案例没有用到)

设置是否为模式窗口
“有模式”意味着该窗口打开时其他窗口都被屏蔽了


有空再把JFrame,Container,JTable,JMenu等比较常用的组件总结出来~~敬请期待

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐