我寫了下面的代碼。我沒有顯示完整源代碼,但psudo代碼。無法在java swing中點擊按鈕後立即將按鈕文本更改爲圖標
class UI extends JFrame
{
//created UI with one Button
onButtonclick()
{
//did some operation before set icon to button
//say opened fileopen dialog and get file
button.setText("");
ImageIcon progressbar = new
ImageIcon(DatasetExporterUI.class.getResource("/progreassbar.gif"));
buttonExport.setIcon(progressbar);
// did some database operations
//again removed icon from button
button.setIcon(null);
button.setText("click");
}
}
當我點擊按鈕它打開文件打開對話框和和按鈕文本設置爲空。 但它沒有設置圖標按鈕。當所有的數據庫操作完成後,圖標設置爲按鈕後執行的時間圖標出現在按鈕上。 爲什麼這是行爲? 如何將圖標設置爲按鈕並執行一些數據庫操作並再次將其刪除? 謝謝。 :)
你有沒有調用'repaint'方法來實現你的改變? – Salah
是的。那也行不通 –
只是在更改按鈕標籤時重新繪製組件 –