1

小さな問題があります。MigLayout を使用して新しい GUI プロジェクトを開始しました。レイアウトは気に入っていますが、理解できないことの 1 つは、コンポーネント自体、コンポーネントとフレームの間、およびセルと行の間のギャップをすべて削除する方法です。

現在、MigLayout のドキュメントでは、「gap 0px 0px」の使用について説明されています。ここで、gap [gapx] [gapy] 両方の軸で gap を 0px に設定しましたが、gap はまだ残っており、フォーラムがゴーストタウンであるここで誰かを助けることができます :)

JPanel と JFrame の間のギャップを削除したい..赤いボックスとフレームの境界線、および赤い JPanel 内のパディングを削除したい。私のコードは次のとおりです。

ここに画像の説明を入力

package pe.view;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import net.miginfocom.swing.MigLayout;

public class UI_View extends JFrame
{
    //Content panels
    private JPanel  left   = new JPanel(new MigLayout());
    private JPanel  center = new JPanel(new MigLayout());
    private JPanel  right  = new JPanel(new MigLayout());

    //Content components
    private DefaultListModel list_content = new DefaultListModel();
    private JList   list   = new JList(list_content);

    public UI_View()
    {
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setMinimumSize(new Dimension(800, 600));
        this.setTitle("PropriarityEnvoirment");
        this.setExtendedState(JFrame.MAXIMIZED_BOTH);
        this.setLayout(new MigLayout("gap 0px 0px"));

        String data[] = {"Hi","Hello","WiWi","Hello","WiWi","Hello","WiWi","Hello","WiWi","Hello","WiWi","Hello","WiWi","Hello","WiWi","Hello","WiWi","Hello","WiWi"};
        for(int i = 0; i < data.length; i++)
        {
            list_content.addElement(data[i]);
        }

        left.add(list);

        left.setBackground(Color.red);
        center.setBackground(Color.green);
        right.setBackground(Color.blue);

        this.add(left, "growy, pushy");
        this.add(center, "grow, pushx");
        this.add(right, "grow, pushy");
    }
}
4

3 に答える 3

4

milayout でコンテナー間のスペースを削除するにはDocking、BorderLayout に似た を使用できます。

ドッキングすると、コードは次のようになります。

...
this.setLayout(new MigLayout());
...
left.add(list, "dock north");
...
this.add(left, "dock west");
this.add(center, "dock center");
this.add(right, "dock east");
...

これが役立つことを願っています。

于 2011-12-30T06:03:04.850 に答える
0

次のようなものを使用します

new MigLayout("", "0[]0[]0[]0", "[]"); 
this.add(left, "gapx 0 0"); 
this.add(center, "gapx 0 0");
于 2012-01-10T12:36:12.633 に答える