当前位置: 首页 > 知识库问答 >
问题:

Swing对齐的工作原理[复制]

郎吉星
2023-03-14

我只想将按钮对齐到底部的右侧。下面的代码无法按预期工作。

class Frame extends JFrame {
    public Frame() {
        JButton closeButton = new JButton("Close");
        closeButton.setSize(new Dimension(75, 25));
        closeButton.setLocation(new Point(225, 275));
        add(closeButton);

        setDefaultCloseOperation(EXIT_ON_CLOSE);
        
        setSize(300, 300);
        setLayout(null);
        setTitle("Frame");
        setVisible(true);
    }
}

共有1个答案

干鑫鹏
2023-03-14

在Swing中,你必须为整个窗口做计划,并设置布局管理器,以便在调整窗口大小时决定组件的位置和大小。所以:

  1. 不要将 null 作为布局
  2. 不要使用尺寸或位置

如果要让底部栏具有按钮,并且按钮位于右侧,请使用 BorderLayout 将底部栏和 Flow 布局放在里面:

class Frame extends JFrame {
    public Frame() {
        JPanel btPanel = new JPanel();
        btPanel.setLayout(new FlowLayout(FlowLayout.RIGHT));
        JButton closeButton = new JButton("Close");
        btPanel.add(closeButton);
        getContentPane().add(btPanel,BorderLayout.SOUTH);

        setDefaultCloseOperation(EXIT_ON_CLOSE);
        
        setSize(300, 300);
        setTitle("Frame");
        setVisible(true);
    }
}
 类似资料:
  • redis的主从复制的工作原理

  • 我有一个几乎到处都是的窗口。我正在向它添加大按钮(带有图像),我希望它们继续向下添加,这就是为什么我使用并设置每次我添加一个按钮。 但问题是,当我添加不到4个按钮时,它们会对齐到行的中心,而不是我想要的左侧。就像这样 你知道我该怎么把它们对准左边吗?我试过gbc。锚定和gbc。填充但没有运气。谢谢 这是我的

  • 一、mitmproxy的工作原理 Mitmproxy是一种非常灵活的工具。准确了解代理过程的工作原理将有助于您创造性地部署代理,并考虑其基本假设以及如何解决这些假设。本文档详细介绍了mitmproxy的代理机制,从最简单的未加密显式代理开始,到最复杂的交互操作-在存在服务器名称指示的情况下,对受TLS保护的流量进行透明的代理。 二、显式HTTP 配置客户端以使用mitmproxy作为显式代理是拦截

  • 1、Register、Gateway、BusinessWorker进程启动 2、Gateway、BusinessWorker进程启动后向Register服务进程发起长连接注册自己 3、Register服务收到Gateway的注册后,把所有Gateway的通讯地址保存在内存中 4、Register服务收到BusinessWorker的注册后,把内存中所有的Gateway的通讯地址发给Business

  • 工作原理 FIS3 是基于文件对象进行构建的,每个进入 FIS3 的文件都会实例化成一个 File 对象,整个构建过程都对这个对象进行操作完成构建任务。以下通过伪码来阐述 FIS3 的构建流程。 构建流程 fis.release = function (opt) { var src = fis.util.find(fis.project.root); var files = {}; s

  • IoT 客户端框架 Azure IoT 中心为了方便设备连接提供了丰富的连接协议,如 MQTT、HTTP 等,同时 Azure IoT 中心只支持安全连接。与 IoT 中心的连接由设备客户端来完成,每一个连接到 IoT 中心的设备都会创建一个 IoT 中心客户端实例,当连接关闭时,将这个实例释放掉即可。 IoT 中心客户端会向下调用 LL 层来完成工作,LL 层向下对接不同通信协议的传输层,传输层