我有一个JTextArea,带有背景图像,基本上显示了一些输出。问题是,当附加输出时,JTextArea开始向下“自动滚动”,背景图像也向下扩展...有什么方法可以防止这种情况?
要绘制图像,我的JTextArea会覆盖如下的paintComponent:
public void paintComponent(final Graphics g)
{
try {
g.drawImage(imageIcon.getImage(),0,0,getWidth(),getHeight(),this);
super.paintComponent(g);
} catch(Exception e) {
e.printStackTrace();
}
}
然后是滚动窗格:
DefaultCaret caret3 = (DefaultCaret)jTextArea2.getCaret();
caret3.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);
jScrollPane5.setViewportView(jTextArea2);
new SmartScroller(jScrollPane5);
(从此处获取的SmartScroller类,以实现智能滚动https://tips4java.wordpress.com/2013/03/03/smart-scrolling/)
有什么建议吗?让我知道是否需要发布其他代码。
@Override
protected void paintComponent(Graphics g) {
Rectangle rect = getVisibleRect();
g.drawImage(image.getImage(), rect.x, rect.y, rect.width, rect.height, this);
super.paintComponent(g);
}