0

我在我的 java swing 应用程序中使用 JSeparator。正常实现使分隔符正常行;但我需要的是分隔符应该是虚线(就像我们创建虚线边框一样)。我们有什么办法可以做到吗?

谢谢

4

2 回答 2

2

您可以使用以下代码片段来创建虚线。

import java.awt.Container;
import java.awt.Graphics;
import java.awt.GridLayout;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSeparator;

public class SeparatorSample {
    public static void main(String args[]) {
        JFrame f = new JFrame("JSeparator Sample");
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        Container content = f.getContentPane();
        content.setLayout(new GridLayout(0, 1));
        JLabel above = new JLabel("Above Separator");
        content.add(above);
        JSeparator separator = new JSeparator() {
            private static final long serialVersionUID = 1L;

            public void paintComponent(Graphics g) {
                for (int x = 0; x < 300; x += 15)
                    g.drawLine(x, 0, x + 10, 0);
            }
        };
        content.add(separator);
        JLabel below = new JLabel("Below Separator");
        content.add(below);
        f.setSize(300, 100);
        f.setVisible(true);
    }
}
于 2014-11-22T12:51:50.797 回答
2

要创建自定义JSeparator,您可以覆盖 的paint()方法,在此处BasicSeparatorUI讨论,并使用虚线绘制线条,如图所示Stroke

于 2014-11-22T13:03:08.313 回答