展开全部
java swing中是可以绘制虚线的,主要是使用paint画笔工具绘制,如下32313133353236313431303231363533e58685e5aeb931333337623462代码:package com.qiu.lin.he;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Stroke;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Ceshi {
public static void main(String[] args) {
JPanel p = new JPanel() {
//使用画笔绘制虚线
public void paint(Graphics gr) {
Graphics2D g = (Graphics2D) gr;
g.setBackground(Color.black);
g.clearRect(0, 0, getWidth(), getHeight());
Stroke dash = new BasicStroke(2.5f, BasicStroke.CAP_BUTT,
BasicStroke.JOIN_ROUND, 3.5f, new float[] { 15, 10, },
0f);
g.setStroke(dash);
g.setColor(Color.yellow);
g.drawRect(20, 20, getWidth() - 40, getHeight() - 40);
g.dispose();
}
};
//新建一个窗口
JFrame f = new JFrame("Dash Test");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setContentPane(p);
p.setPreferredSize(new Dimension(400, 300));
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
}
}
运行结果如下: