[問題] GridLayout中,有沒有辦法讓JButton互換 …

看板java作者 (小恐龍)時間14年前 (2010/05/29 01:45), 編輯推噓1(107)
留言8則, 4人參與, 最新討論串1/1
我想在GridLayout中做一個功能 就是我先點A Button,再點B Button,就會交換兩個Button的位置 因為我的Button是利用泛型繼承JButton的不同Class, 點擊的事件也是分別執行該Butten底下的函式, 所以應該不是互換Icon和Text就能解決的問題 請問有什麼好的方法實作嗎? 還是我應該把JButton的點擊事件用swich case寫在actionPerformed下, 再互換Icon跟Text等內容呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 112.104.57.123

05/29 04:46, , 1F
好像是可以remove再add回去,可是我用repaint它不會重繪
05/29 04:46, 1F

05/29 04:51, , 2F
不過改變視窗大小的話它就變成改變後的樣子了
05/29 04:51, 2F

05/29 04:58, , 3F
笨方法就是執行JFrame的setSize(),有聰明的辦法嗎?
05/29 04:58, 3F

05/29 05:00, , 4F
執行JFrame的paintComponents好像好一點,不過會閃
05/29 05:00, 4F
※ 編輯: cooper6334 來自: 112.104.57.123 (05/29 05:11)

05/29 09:56, , 5F
會閃是因為JFrame預設沒有雙緩衝 可以利用有雙緩衝的
05/29 09:56, 5F

05/29 09:58, , 6F
JPanel或是找找有沒有把JFrame設為雙緩衝的做法
05/29 09:58, 6F

05/29 15:46, , 7F
JComponent::updateTreeUI什的 這個函式 可以試一下
05/29 15:46, 7F

05/29 16:04, , 8F
先做一個JPanel設GridLayout, 把JButton放進去就不會閃了
05/29 16:04, 8F
文章代碼(AID): #1C004iYf (java)