所以我有一個問題,我不能解決我想我的GUI應用程序分爲3個JPanels(左,中,右)。我希望左側面板和右側面板具有固定的大小和中心流動性。意義側面板僅在JFrame展開時垂直展開,而中央面板則水平和垂直展開漫遊器。Java - MigLayout seting界限
我將所有面板的最小尺寸設置爲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);
}
}
我已經tryed他們包圍另一個內容面板,並補充說,面板的contentPane到JFrame中是自動範圍以JFrame的邊界,但事情仍然是非常固定。
感謝您的幫助,我在尋找增長的限制,但他們似乎沒有幫助。 – 2011-12-29 13:26:22
@kellax,試着用''debug''參數創建你的'MiGLayout'來查看繪製的邊框。另外,嘗試爲中央面板添加'「grow,pushx」'。 – Thomas 2011-12-29 13:29:05
它現在的作品現在左右都是固定的大小和中心。我不得不這樣定義它:對於側面板.add(面板,「growy,pushy」)和中心「grow,pushx」 不完全確定,但我認爲「psuhx或pushy」作爲額外參數方向擴展,如果你想充分填補空間。 – 2011-12-29 13:50:36