我正在尝试在 JScrollPane
周围绘制圆角矩形。对于我的一生,我不知道该怎么做!无论我如何尝试,边框都是不可见的。我发现它是在内容后面绘制的,而不是在内容之上。滚动 Pane 内唯一的东西是一个JPanel
,上面画了一些图形。有谁知道如何解决这一问题?
这是我尝试在滚动 Pane 上绘制边框的代码:
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2.setColor(Color.black);
g2.setStroke(new BasicStroke(1));
g2.draw(new RoundRectangle2D.Double(0, 0, getWidth() - 1, getHeight() - 1, 10, 10));
}
我也尝试过使用 paint
而不是 paintComponent
但没有这样的运气!
最佳答案
您实际上是在组件边界之外进行绘制,这是一个很大的禁忌,也是您遇到此问题的原因。您应该考虑创建自定义 Border或扩展组件插图,以便有空间绘制轮廓
关于java - 在 JScrollPane 上绘制圆形边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26810008/