我有一個(gè)帶有背景圖像的 JTextArea,它基本上顯示一些輸出。問(wèn)題是當(dāng)附加輸出并且 JTextArea 開(kāi)始向下“自動(dòng)滾動(dòng)”時(shí),背景圖像也會(huì)向下拉伸......有什么方法可以防止這種情況嗎?為了繪制圖像,我的 JTextArea 重寫(xiě)了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(); }}然后對(duì)于滾動(dòng)窗格:DefaultCaret caret3 = (DefaultCaret)jTextArea2.getCaret();caret3.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);jScrollPane5.setViewportView(jTextArea2);new SmartScroller(jScrollPane5);(SmartScroller 類(lèi)取自此處以實(shí)現(xiàn)智能滾動(dòng) https://tips4java.wordpress.com/2013/03/03/smart-scrolling/)有什么建議 ?如果需要發(fā)布任何進(jìn)一步的代碼,請(qǐng)告訴我。
1 回答

烙印99
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超13個(gè)贊
您應(yīng)該根據(jù)可見(jiàn)矩形顯示圖像。像這樣的東西:
@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);
}
添加回答
舉報(bào)
0/150
提交
取消