2012-01-03 245 views
2

我的问题在这里相当简单。 JTextArea可以设置为透明,但不能完全隐藏吗?另外,如果可能的话,我如何在它后面绘制图像(先绘制图像,然后在其上绘制透明文本区域)?Java:透明TextArea +绘制背景

回答

10

1)覆盖的JTextArea中类似的的paintComponent()方法:

g.drawImage(...); 
super.paintComponent(g); 

2)当您创建文本区域,你需要给它一个透明背景:

setBackground(new Color(r, g, b, alpha)); 
+1

+1另请参阅此相关的[示例](http://stackoverflow.com/a/4091329/230513)。 – trashgod 2012-01-03 19:10:00

0

你也可以这样做:

jScrollPane.setOpaque(false); 
jScrollPane.getViewport().setOpaque(false); 
jScrollPane.setBorder(null); 
jScrollPane.setViewportBorder(null); 

jTextArea.setBorder(null); 
jTextArea.setBackground(new Color(0, 0, 0, 0)); 

jscrollpane是jtextarea的直接父组件。