gpt4 book ai didi

java - 没有JPanel如何把JFrame区域分成很多区域?

转载 作者:行者123 更新时间:2023-11-29 03:17:20 25 4
gpt4 key购买 nike

我正在使用 JFrame 开发一个小型 Java Swing 应用程序。根据要求,我必须将 JFrame 区域分成许多子区域。

我在 Using two JPanels in one JFrame 中找到我可以通过在我的 JFrame 中使用 JPanel 来完成它,但我不必使用 JPanel

你知道如何在不使用 JPanel 的情况下将 JFrame 区域划分为多个子区域吗?

最佳答案

当你往一个框架(JFrame)里面添加东西的时候,其实是往他的content pane里面添加的,这个content pane其实就是一个容器(JPanel也是一个通用的轻量级容器) .

“划分JFrame”的首选方法是实际“划分”JPanel,然后将该面板设置为框架的内容 Pane 。像这样:

JPanel panel = new JPanel();

// ...
// layout panel, add components, etc...
// ...

frame.setContentPane(panel);

但是,如果您真的想在不创建新容器(例如 JPanel)的情况下分割/拆分/布局一个 JFrame,方法如下:

frame.getContentPane().setLayout(new BorderLayout());
frame.getContentPane().add(new JLabel("Left"), BorderLayout.WEST);
frame.getContentPane().add(new JLabel("Center"), BorderLayout.CENTER);

这是一个完整的测试类:

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

public class Test {

public static void main(String[] args) {

JFrame frame = new JFrame();

frame.getContentPane().setLayout(new BorderLayout());
frame.getContentPane().add(new JButton("Left"), BorderLayout.WEST);
frame.getContentPane().add(new JButton("Center"), BorderLayout.CENTER);

frame.setSize(400, 300);
frame.setVisible(true);
}
}

关于java - 没有JPanel如何把JFrame区域分成很多区域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25738718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com