所以这是交易:
我有一个JPanel和一个JTextArea。 JPanel的背景颜色的alpha值为200,即。你可以通过JPanel在paritally看到背景图像。这不是所谓的部分透明度吗?无论如何,然后我将JTextArea设置为非透明,以便我可以完全看透那个:
JPanel p = new JPanel();
p.setBackground(new Color(237, 234, 215, 200);
JTextArea jta = new JTextArea("Blahblahblahblah");
jta.setOpaque(false);
p.add(jta);
好的,所以当我点击按钮时,文本将会改变如下:
jta.setText("new BlahBlah...");
然后它发生了:第一个文字仍然留在那里,上面有一个新的部分透明的电影。我添加的文字当然是最重要的,但就在那里,你可以看到前一个一。当我将文本更改几次时,幽灵消失了。
翻译(截图连续3张):
左一:“问题#1,满分8分:(一个政治问题)?(我的评论:好的)“左中心:”8个问题#2 :(另一个问题,没关系)?(我的评论:幽灵是那里![和指出它的箭头])“
右手边:”8号问题#8 :(另一个问题)?(我的评论:好的)“
如果我减少了这个程序交换的问题数量,例如,从8到3,最后一个看起来通常很好,鬼魂消失了。但无论我做什么,有时它都会坚持下去。它可能与内存不足有关(尽管我几乎不能吞下它)?
所以,请帮帮我,伙计们!我已经在48小时内完成了截止日期。
PS。万一你想知道,那语言是芬兰语。我正在开展一个学校项目:这将是一台可以有多种应用的比较机器:例如,如果你有公开选举,媒体/媒体可以在网上使用这种机器来获得候选人对任何问题的意见,然后选民也可以输入他们的意见,机器会计算哪些候选人最能匹配选民的想法。看我的主页,即。项目博客(芬兰语),如果您有兴趣,可以获得更多截图。
an55i
答案 0 :(得分:2)
答案 1 :(得分:0)
最后我让它出现了!就是这样:
我不是以某种方式正确吗?好吧,至少代码是诀窍。
类字段:
private JTextArea jta;
private JPanel p;
后来:
jta = new JTextArea("BlahBlahBLAH");
jta.setBackground(new Color(237, 234, 215, 200));
p = new JPanel() {
@Override
protected void paintComponent(Graphics g) {
if(getContentPane().isAncestorOf(jta)) {
g.setColor(jta.getBackground());
g.fillRect(0, 0, getWidth(), getHeight());
}
}
};
p.setOpaque(false);
jta.setOpaque(false);
p.add(ta);
就是这样。在将“jta”添加到“p”之前,我甚至会添加一些边框和内容。什么是最酷的,我实际上已经学习了。感谢您的支持!