所以我有一个我无法解决的问题我希望我的 GUI 应用程序在 3 个 JPanel(左、中、右)之间拆分。我希望左面板和右面板具有固定大小并且中心是流动的。这意味着侧面板仅在 JFrame 扩展时垂直扩展,而中心面板水平和垂直扩展机器人。
我已将所有面板的最小尺寸设置为 600 的高度,但它们只是保持在最小尺寸并且不会随着 JForm 的增加而扩展我不知道如何设置 JFrame 边框的边界,以便它们扩展它。
package ppe.view;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import net.miginfocom.swing.MigLayout;
public class UI_View extends JFrame
{
private JList browse = new JList();
private JScrollPane rightX = new JScrollPane();
private JButton btn1 = new JButton("Button 1");
private JButton btn2 = new JButton("Button 2");
private JButton btn3 = new JButton("Button 3");
private JButton btn4 = new JButton("Button 4");
public UI_View()
{
this.setTitle("Prototype MVC Arhitecture");
this.setMinimumSize(new Dimension(800, 600));
this.setExtendedState(this.MAXIMIZED_BOTH);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(new MigLayout());
JPanel content = new JPanel(new MigLayout());
content.setBackground(Color.black);
JPanel right = new JPanel(new MigLayout());
JPanel center = new JPanel(new MigLayout());
JPanel left = new JPanel(new MigLayout());
right.setBackground(Color.red);
right.setMinimumSize(new Dimension(200, 600));
right.setMaximumSize(new Dimension(200, 37500));
center.setBackground(Color.green);
center.setMinimumSize(new Dimension(400, 600));
left.setBackground(Color.blue);
left.setMinimumSize(new Dimension(200, 600));
left.setMaximumSize(new Dimension(200, 37500));
content.add(left);
content.add(center);
content.add(right);
this.setContentPane(content);
}
public static void main(String[] args)
{
new UI_View().setVisible(true);
}
}
我尝试将它们绑定到另一个内容面板,并将该面板作为 ContentPane 添加到 JFrame 中,自动将其绑定到 JFrame 边框,但事情仍然非常固定。