我正在努力與Java GUI - 感謝您提前提供任何幫助!我有一個JFrame中,我有幾個組成部分:按鈕(一個JButton)觸發動作監聽者,補償這是一個組件我試着用它的組件更換JScrollPane的(它不事關組件是什麼類型的,可以是文本字段,表格或其他)。Java - 替換JFrame中的組件
我想觸發一個動作 - 刪除組件,放置在同一個地方被刪除的一個新的和重新繪製窗口(我用它來顯示不同類型的文本字段和JTable中的)。這是我有:
JScrollPane sp = new JScrollPane(comp);
this.add(sp, BorderLayout.CENTER);
//this works so far - first time I display this is ok!
private void replace() {
comp = new Component(...); //name and type of the components is not important
sp = new JSCrollPane(comp);
this.remove(sp); //remove old component
add(sp, BorderLayout.CENTER);
repaint();
revalidate();
}
爲什麼不功能替換工作?它沒有做任何事情(它改變了邏輯組件,所以如果我訪問comp的內容,它會刷新,但它仍然顯示舊的)。
我寫它有點象徵性,導致我的代碼很長...感謝您的幫助! 編輯:在我的代碼中忘了一行..
這很好地解決了我的問題,謝謝! – Smajl
沒有biggie哥們! ;-) –