質問
以下はだいたいという期待してい:
import javax.swing.JComboBox;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import net.miginfocom.swing.MigLayout;
public class MigBug extends JFrame {
public static void main(String args[]) {
MigBug migbug = new MigBug();
migbug.pack();
migbug.setVisible(true);
}
public MigBug() {
JPanel content = new JPanel();
content.setLayout(new MigLayout("fill, debug"));
content.add(new JLabel("Label 1"));
content.add(new JComboBox());
content.add(new JLabel("Label 2"));
content.add(new JTextField(25), "growx, wrap");
content.add(new JLabel("BIG"), "span, w :400:, h :200:, growy");
setContentPane(content);
}
}
ただし、私は以下のように変更:
content.add(new JLabel("BIG"), "span, w :400:, h :200:, grow");
ります。変更を張る部品に成長してxとyの場合、ラベル1の細胞がxのものでよいはずがありません.
なんだろうけど、日本人の方までレストラン。
解決
見つけた回避策ではないが全ての仕事です。による このフォーラムポスト や このフォーラムポスト,MigLayoutスイッチからの算出部品のサイズを計算カラムサイズがspanてることを計画しています。置き換え"を記入"の"filly"のレイアウトcontraints、その後の追加カラムの制約と"成長"のための各欄にすべき成長を見るように修理してください。
コード:
import javax.swing.JComboBox;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import net.miginfocom.swing.MigLayout;
public class MigBug extends JFrame {
public static void main(String args[]) {
MigBug migbug = new MigBug();
migbug.pack();
migbug.setVisible(true);
}
public MigBug() {
JPanel content = new JPanel();
content.setLayout(new MigLayout("filly, debug", "[][grow][][grow]"));
content.add(new JLabel("Label 1"));
content.add(new JComboBox());
content.add(new JLabel("Label 2"));
content.add(new JTextField(25), "growx, wrap");
content.add(new JLabel("BIG"), "span, w :400:, h :200:, grow");
setContentPane(content);
}
}
他のヒント
また、代替として、私の MatrixLayout のレイアウトマネージャを試みることができます。テーブルベース - コンセプトはミグレイアウトと同様です。 (大いなる力と非常に複雑に来る)を使用する(とにかく、私には)はるかに簡単それはのように強力ではありませんが、それはそうです。しかし、それはちょうど私がミグレイアウトを理解するのは難しいしようとしていないためかもしれないが、正直に言うと。
所属していません StackOverflow