2013-04-12 23 views
1

我做的事情非常隨意,主要是由於我的強迫症,但長話短說我想刪除JButtons上的異步更新並調用repaint()當按鈕需要被改變。刪除JButtons上的異步更新

有沒有辦法做到這一點,覆蓋JButton實現覆蓋的imageUpdate方法?我正在處理作業,只能打開數量有限的文件。

我明白任何答覆:)

看到它的功課,我在與反對作弊/複製粘貼一些相當嚴格的監管非常大的課,我覺得不舒服張貼我的樣本碼。我寧願如果有任何答案是假設的!再次感謝任何幫助。

回答

0

通常,當一個人想控制組件繪畫,一個應該重寫的paintComponent這樣的:

new javax.swing.JButton(){ 
    @Override 
    protected void paintComponent(Graphics g){ 
     super.paintComponent(g); 
     // things you want to do here 
    } 
}; 

承擔更大的控制,那麼你可能會忽略調用

super.paintComponent(g); 

但這樣做所以要求你

必須尊重不透明屬性,即如果此組件不透明,則必須以非透明顏色完全填充背景。如果您不尊重不透明財產,您可能會看到視覺文物。

As stated in the Java API doc。

0

如果你可以用JLabel或JPanel,或者其中一個用JButton來做,我會強烈建議你這樣做。

的JButton是不可靠的,當涉及到更新狀態。

如果使用JButton是絕對必要的,你能否更詳細地解釋一下你想從中得到什麼?