JFrame窗体详细讲解
窗体

窗体中包含了所有我们需要使用的组件

需要注意的是窗体是会为你提供一个最小化和可关闭化按钮的;
JFrame实践
import javax.swing.*;
import java.awt.*;
public class JFrameDemo {
public static void main(String[] args) {
// 给窗体提供一个名称
JFrame frame=new JFrame("窗体标题");
//设置是否展示窗体
frame.setVisible(true);
/*
*窗体关闭规则
* EXIT_ON_CLOSE:设置关闭窗体停止程序
* DO_NOTHING_ON_CLOSE:没有任何操作
* HIDE_ON_CLOSE:关闭窗体但是不停止程序
* DISPOSE_ON_CLOSE:释放窗体资源
* */
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//设置窗体的大小 单位是像素
frame.setSize(300,200);
// 设置窗体的坐标
frame.setLocation(200,200);
// 设置窗体坐标和大小
frame.setBounds(200,200,300,200);
// 获取窗体容器
Container container = frame.getContentPane();
// 设置窗体背景颜色
container.setBackground(Color.white);
// 创建标签
JLabel label = new JLabel("这是一个窗体");
// 将窗体添加到容器中
container.add(label);
// 将窗体从容器中删除
/*container.remove(label);*/
// 验证容器中的组件
container.validate();
// 让窗体重新的载入这个容器(与上一步具有相同的效果)
/*frame.setContentPane(container);*/
}
}
上述代码注释已经非常清晰,如果有疑问可以在评论区留言或者直接私聊作者,我非常乐意为大家解答。
下面展示一下成品效果:
现在我们创建的窗体是一个可以任意拖动大小的窗体,你可以选中窗体的任意一个边框进行拖拽,他就会改变现有的大小,但是如果你想拥有一个固定大小的窗体那么你就需要给自己的窗体增加限制条件;可以调用窗体的setResizable方法对窗体的操作进行限制;
// 限制窗体的大小
frame.setResizable(false)
我们既然可以设置窗体的坐标,当然也能获取窗体的坐标没这是我们需要用到窗体的getX与getY从而获取窗体坐标值;
// 获取X轴坐标
Integer x = frame.getX();
// 获取Y轴坐标
Integer y = frame.getY();
// 格式化输出
System.out.println(String.format("X轴坐标%d,Y轴坐标%d",x,y));
到此我们的一个JFrame的窗体基本已经创建完毕,如果你的窗体需要在多个地方使用,建议将此窗体封装为一个JFrame的子类这样就可以在你使用时直接new一个对象出来就可以了,不需要进行重复构造窗体,大大缩减开发量。