java - 在 JScrollPane 上绘制圆形边框

标签 java swing border

我正在尝试在 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/

相关文章:

java - 主机名中是否支持下划线?

java - 无法刷新非托管对象

java - 在 Java 中反序列化人类可读持续时间的最简单方法是什么?

java - 复选框节点树,Swing 中的自定义渲染器

swing - Java JRE 1.7 JCombobox<E> setSelectedItem(Object anObject) 不能正常工作?

java - 执行 JFrame 程序

css - CSS 中的略微 flex 的边框

java - 如何在 Openstreetmap 中突出显示 MapMarkerDot?

java - 在哪里放置 AsyncTask() 以便我可以调用它来加载图像?

css - 表格边框 :0 not working