2011-12-29 6 views
1

私は小さな問題がありますが、私はMigLayoutを使って新しいGUIプロジェクトを開始しました。レイアウトが大好きですが、私は分かりませんが、コンポーネント間のすべてのギャップフレームとセルと行の間のギャップJava - > MigLayoutギャップを設定する方法

ここで、gap [gapx] [gapy] の両方の軸でギャップを0pxに設定しましたが、MigLayoutのドキュメントでは、ギャップがまだあります彼らのフォーラムはゴーストタウンです)

JPanelsとJFrameの間のギャップを取り除きたいのですが、赤いボックスとフレームの境界線、そして 赤いJPanelの内側のパディングを削除したいのですが。私のコードは怒鳴るです:

enter image description here

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"); 
    } 
} 

答えて

3

のBorderLayoutに似ている、あなたはDockingを利用することができますmiglayoutでコンテナの間のスペースを削除するには。私はこれが役に立てば幸い

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

:あなたのコードをドッキングして

は次のようになります。

+0

ありがとうございました –

+0

"left.add(list、" dock north ")"私はそれを "left.add(list、" wrap、push)に設定していました。 ")"とJListコンポーネントを境界線にバインドするので、JListがJFrameのサイズを変更したことになります。 私は "left.add(list、" wrap、push、dock north ")"を試みましたが、それはちょうど300pxの高さを言うが、適切な幅を保持します。 –

+0

私は100% jlistは動作するが、this.setMinimumSize(new Dimension(800,600));を削除することも可能です。あなたの問題を解決する? – Katana

0

使用

new MigLayout("", "0[]0[]0[]0", "[]"); 
this.add(left, "gapx 0 0"); 
this.add(center, "gapx 0 0"); 
0

のようなもの、私は今日もそれを発見し、レイアウトの制約でインセットを設定すると、それを解決します。

panel.setLayout(new MigLayout("insets 0 0 0 0, fill, debug", "", "")); 

我々は0にそれを設定しない場合、デフォルトのサイズが設定され、あなたのプロジェクトで見たもののように、巨大です。

関連する問題