コンポーネントの高さを無視するように MigLayout に指示する方法はありますか?
テスト例を次に示します。
最初の行に特大のコンポーネント (右上の「大きな」ボタン) があり、2 行目全体にほぼ三角形の JPanel があります。
最初の行のサイズを選択するときに MigLayout で「大きな」ボタンの高さを無視するようにしたいと思います。これは、2 行目のコンポーネントと重なっても問題ないことがわかっているためです。
これどうやってするの?
import java.awt.Dimension;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import net.miginfocom.swing.MigLayout;
public class IgnoreComponentHeight {
public static void main(String[] args) {
JFrame jf = new JFrame("ignore component height test");
JPanel p = new JPanel();
p.setLayout(new MigLayout("","[] [] [] []", ""));
p.add(new JButton("one"), "");
p.add(new JButton("two"), "");
p.add(new JButton("three"), "");
JButton big = new JButton("big");
big.setPreferredSize(new Dimension(40,80));
p.add(big, "wrap");
JPanel tripanel = new JPanel();
tripanel.setLayout(new MigLayout("","[] [] [] []", ""));
int k = 0;
for (int i = 0; i < 4; ++i)
{
for (int j = 0; j <= i; ++j)
{
tripanel.add(new JButton("tri"+k), j == i ? "wrap" : "");
++k;
}
}
p.add(tripanel, "span,wrap");
jf.setContentPane(p);
jf.pack();
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
}
}