如何在Java GUI中显示一行?

时间:2014-04-09 12:37:05

标签: java swing line

我想在Java swing中的两幅图像之间画一条线。

我找到了不同的绘制线条的方法,但没有我想要的方式让我想到也许我只需要在我想要的地方插入一行图像?

无论如何我想要的东西都是

O---O---O---O

要显示' O是图像,破折号是我想要的行...

我希望这很明确,我不是白痴:P

非常感谢,

亚历山大

2 个答案:

答案 0 :(得分:2)

正如我在评论中所指出的那样,你可以只画一条线,然后在设定的增量点上画出线条

enter image description here

import java.awt.*;
import javax.swing.*;

public class Test {

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                final Image image = new ImageIcon(Test.class
                        .getResource("/resources/images/stackoverflow.png"))
                        .getImage();
                final BasicStroke stroke = new BasicStroke(5f);
                JPanel panel = new JPanel() {
                    @Override
                    protected void paintComponent(Graphics g) {
                        super.paintComponent(g);
                        Graphics2D g2 = (Graphics2D) g;
                        g2.setStroke(stroke);
                        g2.drawLine(10, 75, 290, 75);
                        for (int x = 10; x < 300; x += 50) {
                            g2.drawImage(image, x, 59, this);
                        }
                    }

                    @Override
                    public Dimension getPreferredSize() {
                        return new Dimension(300, 150);
                    }
                };

                JOptionPane.showMessageDialog(null, panel, "Line With Images",
                        JOptionPane.PLAIN_MESSAGE);
            }
        });
    }
}

答案 1 :(得分:0)

只需调用方法drawLine()并插入位置参数:)