gpt4 book ai didi

java - 在 JFrame 上定位两个面板

转载 作者:行者123 更新时间:2023-12-02 02:26:13 24 4
gpt4 key购买 nike

我正在尝试获得这样的输出(使用 Netbeans 设计器设计),我需要通过代码实际设计它:

enter image description here

JFrame的布局在哪里应该是这样的:

enter image description here

 JFrame frame = new JFrame("Horizontal Histogram");
frame.setVisible(true);
frame.setSize(400, 300);
frame.setResizable(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JPanel panel = new JPanel();
panel.setLayout(new GridLayout(5, 1));
panel.setBorder(new EmptyBorder(10, 10, 10, 10));
frame.add(panel);

JPanel panel_2 = new JPanel();
panel_2.setLayout(new GridLayout(5, 1));
panel_2.setBorder(new EmptyBorder(10, 10, 10, 10));
frame.add(panel_2);

JLabel label_1 = new JLabel("0-29");
JLabel label_2 = new JLabel("30-39");
JLabel label_3 = new JLabel("40-69");
JLabel label_4 = new JLabel("70-100");

JLabel stats_1 = new JLabel(); //number of stars
JLabel stats_2 = new JLabel();
JLabel stats_3 = new JLabel();
JLabel stats_4 = new JLabel();

stats_1.setText(stars); //starts is a string like ("***")
stats_2.setText(stars);
stats_3.setText(stars);
stats_4.setText(stars);

panel.add(label_1);
panel.add(label_2);
panel.add(label_3);
panel.add(label_4);

下面的代码仅在一整列中显示星星。如果我删除第二个面板并将“统计标签”添加到第一个面板,它将显示 2 x 4 网格布局,如下所示:

enter image description here

关于如何获得像我发布的第一张图片这样的输出有什么想法吗?

最佳答案

JFrame 默认使用 BorderLayout
此:frame.add(panel);panel添加到BorderLayout.CENTER
此:frame.add(panel_2);panel_2添加到BorderLayout.CENTER
问题是 BorderLayout.CENTER 只能容纳一个组件。
使用: frame.add(panel, BorderLayout.WEST);frame.add(panel_2, BorderLayout.EAST);要更好地了解布局,请阅读 A Visual Guide to Layout Managers

关于java - 在 JFrame 上定位两个面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47738101/

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