gpt4 book ai didi

java - 使用 JSplitPane 在 java 中向框架添加 3 个面板?

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

尝试使用 JSplitPane 将我创建的 3 个面板添加到 Java 框架中。已经尝试过用 2 个面板进行此操作,效果很好,但用 3 个面板仍然达不到我想要的效果。

已经阅读了一些有关制作 2 个 JSplitPanes 并将其中一个放入另一个的内容,但这实际上并没有达到我想要的效果。

我的代码显示有3个面板,但尺寸都错了..应该填写。

我的代码:

    frame = new JFrame(); // Create a new frame
frame.setVisible(true); // Makes it visible
frame.setSize(900, 500); // Sets size
frame.setTitle(""); // Sets title
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null); // Sets the window on the center of the screen

temp_panel = new JPanel(); // Creates new JPanel
water_panel = new JPanel(); // Creates new JPanel
power_panel = new JPanel(); // Creates new JPanel

temp_panel.setBackground(Color.decode("#2ecc71")); // Sets color
water_panel.setBackground(Color.decode("#3498db")); // Sets color
power_panel.setBackground(Color.decode("#f1c40f")); // Sets color

temp_label = new JLabel("This is Temperature");
water_label = new JLabel("This is Water consumption");
power_label = new JLabel("This is Power consumption");

// Add labels on panel
temp_panel.add(temp_label);
water_panel.add(water_label);
power_panel.add(power_label);

JSplitPane splitPaneLeft = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
JSplitPane splitPaneRight = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
splitPaneLeft.setLeftComponent( temp_panel );
splitPaneLeft.setRightComponent( water_panel );
splitPaneRight.setLeftComponent( splitPaneLeft );
splitPaneRight.setRightComponent( power_panel );

splitPaneLeft.setEnabled(false);
splitPaneLeft.setDividerSize(0);

splitPaneRight.setEnabled(false);
splitPaneRight.setDividerSize(0);

// put splitPaneRight onto a single panel
JPanel panelSplit = new JPanel();
panelSplit.add( splitPaneRight );

frame.add(panelSplit, BorderLayout.CENTER);

它应该看起来像这样,但只有 3 个面板,具有 3 种不同的颜色,而不是 2 个!

enter image description here

希望有人能帮忙

最佳答案

如果您不需要在运行时更改组件的相对大小,请不要使用 JSplitPane。相反,创建一个使用 GridLayout 的容器 JPanel,例如 1 行和可变列数的 new GridLayout(1, 0),将三个彩色 JPanel 添加到使用 JPanel 的 GridLayout,然后将其添加到JFrame。

关于java - 使用 JSplitPane 在 java 中向框架添加 3 个面板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29320246/

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