开发者

How to draw a separator across a panel using MigLayout

This is a MigLayout-newbie question. I'd like to know how to draw a separator from the end of a label across the width of a panel.

Here's my example code:

package com.ndh.swingjunk;

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

class MyJFrame extends JFrame {
    public MyJFrame() {
        super();
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JLabel label = new JLabel("foo");
        label.setFont(new Font("Tahoma", Font.BOLD, 11));
        JSeparator separator = new JSeparator();
        JLabel anotherLabel = new JLabel("some other label");
        anotherLabel.setFont(new Font("Tahoma", Font.PLAIN, 11));
        JButton button1 = new JButton("button 1");
        JButton button2 = new JButton("button 2");
        JPanel panel = new JPanel(new MigLayout());
        panel.add(label);
        panel.add(separator, "growx, wrap");
        panel.add(anotherLabel);
        panel.add(button1);
        panel.add(button2);
        getContentPane().add(panel);
        pack();
    }
}

public class SeparatorLayoutQuestion {
    public static void main(String[] args) {
     开发者_C百科   EventQueue.invokeLater(new Runnable() {
            @Override public void run() {new MyJFrame().setVisible(true);}});}}

and here's the result:

How to draw a separator across a panel using MigLayout

which is terribly lame. I'd like the separator to stretch from the end of "Foo" to the end of the panel, all the way across button 2.


Here's what worked for me, I had to use "split" so the label and separator could share the same cell:

JPanel panel = new JPanel(new MigLayout());
panel.add(label, "split 2, span");
panel.add(separator, "growx, wrap");
panel.add(anotherLabel);
panel.add(button1);
panel.add(button2);


try adding

 "span 3"

to the first label

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜