我有一個程序,其中有很多JDialogs
,JFileChoosers
和其他包含JButtons
的組件。我把重點放在JButton上
我知道我可以去從JButton
到JButton
並設置.focusPainted(false)
,使重點無形的,但問題是,我有一大堆的「自動」創建的組件(預定義JDialogs,JFileChoosers),我用不上到他們的JButton。我不得不手動創建整個組件,以便能夠控制其子組件(並從頭開始創建fileChooser已經很困難)...
但是,我有一個想法。 JButon每創建一次,focusPainted
默認設置爲true
。有沒有一種方法可以找到包含原始JButton構造函數的Java庫,並將該方法更改爲false
,使其成爲默認值?
編輯:我找到了src.zip並提取AbstractButton.java。我如何編輯和重新編譯它?
其實,問題是,如何編輯Java標準庫?
P.S.你們所有人說這不是一個好習慣,這個具體例子可能會出現什麼問題(我不認爲JSL中的任何內容取決於焦點是否被繪製在Jbutton上)?我總是可以同時在兩個項目上工作,一個是原文庫,另一個是編輯過的,當我在一個錯誤中,而另一個錯誤時,我知道問題在哪裏。
您可以使用'-Xbootclasspath'選項替換java核心類,但這不是一個好習慣。關於它的更多信息[here](http://blogs.sourceallies.com/2010/02/replacing-and-patching-java-application-and-core-classes/)或[here](http:// media。 techtarget.com/tss/static/articles/content/CovertJava/Sams-CovertJava-15.pdf) – cubanacan
你爲什麼要混淆你的用戶? – kleopatra
我經常看到有關打擊L&F和默認行爲的問題:這是一個壞習慣!平臺L&F儘可能地模擬平臺的默認L&F,以便用戶享受與其他任何應用程序類似的實驗(如果不是完全相同的話)。問問自己:「爲什麼我想違背用戶的期望?「 –