Java 在JScrollPane上绘制圆形边框
我试图在Java 在JScrollPane上绘制圆形边框,java,swing,border,Java,Swing,Border,我试图在JScrollPane周围绘制一个圆形矩形。为了我的生命,我不知道该怎么做!无论我尝试什么,边界都不可见。我发现它是在内容背后,而不是在内容之上。滚动窗格中唯一的东西是一个带有一些图形的JPanel。有人知道如何解决这个问题吗 以下是我尝试在滚动窗格上绘制边框的代码: public void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2 = (Graphics2D) g;
JScrollPane
周围绘制一个圆形矩形。为了我的生命,我不知道该怎么做!无论我尝试什么,边界都不可见。我发现它是在内容背后,而不是在内容之上。滚动窗格中唯一的东西是一个带有一些图形的JPanel
。有人知道如何解决这个问题吗
以下是我尝试在滚动窗格上绘制边框的代码:
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及其子类,确定它们是否符合您的要求(PlainBorder可能会),并调查Borders如何使用插入来在组件周围创建更多空间