我已經重寫了擴展JToggleButton的paintComponent方法,以便在按鈕切換時可以使用TexturePaint填充文本。我遇到的問題是我似乎無法使用相同的字體繪製文本,因爲我的外觀和感覺正在使用默認設置。我試過g2d.setFont(this.getFont()); ,其中「this」是我正在使用的按鈕。字體很接近,但在繪製時顯示的比默認文字更大膽。有沒有更好的方式來繪製文本,使其看起來與默認相同,除了顏色?提前致謝!在java中繪製文本,外觀和感覺問題
4
A
回答
4
如果您正在覆蓋隨後的paintComponent()方法的圖形OBJ ect應該已經配置爲具有切換按鈕的字體。差異可能是由於抗鋸齒,這是默認打開的。
我發現了一些代碼,在非常有限的測試中適用於我。嘗試在的paintComponent()方法如下:
Graphics2D g2 = (Graphics2D)g.create();
Toolkit toolkit = Toolkit.getDefaultToolkit();
Map map = (Map)(toolkit.getDesktopProperty("awt.font.desktophints"));
if (map != null)
{
g2.addRenderingHints(map);
}
g2.drawString(...);
g2.dispose();
我被警告在此公告 - How to set text above and below a JButton icon? - 這不會在所有平臺和LAF的工作。該評論還提供了關於如何繪製文本的建議解決方案。
3
這個問題是相似的,提供了一個答案:How do I get the default font for Swing JTabbedPane labels?
我不是很確定的關鍵是什麼,但下面這個問題的答案,你可能也想嘗試:
UIManager.getLookAndFeelDefaults().getFont("ToggleButton.font");
編輯
這不是鏈接問題的代碼片段,但經過一小段測試後,它似乎等同於:
UIManager.getDefaults().getFont("ToggleButton.font");
這是鏈接問題中給出的代碼。
EDIT 2
我想我已經找到了解決辦法。返回默認的僅僅是一個普通的字體,我身邊這讓與線樣品中:
this.setFont(UIManager.getDefaults().getFont("ToggleButton.font").deriveFont(this.getFont().getStyle(), this.getFont().getSize()));
我的建議(做,不是醜)是增加一些私人性質的默認字體樣式和大小你的類(你可以將它們設置在構造函數):
fontStyle = this.getFont().getStyle();
fontSize = this.getFont().getSize();
然後你可以用清理:
this.setFont(UIManager.getDefaults().getFont("ToggleButton.font").deriveFont(this.fontStyle, this.fontSize));
相關問題
- 1. 在.NET中使用本機外觀和感覺繪製文本
- 2. Java - 外觀和感覺問題
- 3. Java物質外觀和感覺問題
- 4. Java FX外觀和感覺的問題
- 5. Ubuntu上的外觀和感覺問題
- 6. Quaqua外觀和感覺問題
- 7. Icefaces 1.8外觀和感覺問題
- 8. 在java中的外觀和感覺
- 9. 關於Java中的外觀和感覺
- 10. 外觀和感覺在Swing
- 11. 的外觀和感覺SEAGLASS的外觀和感覺異常
- 12. java的外觀和感覺和主要
- 13. JTable和外觀和感覺
- 14. 無法設置Java外觀和感覺
- 15. itunes like java的外觀和感覺
- 16. Java的外觀和感覺JTabbedPane
- 17. Java Syntettica的外觀和感覺
- 18. 好看的Java Swing外觀和感覺?
- 19. Seaglass外觀和感覺Java Swing
- 20. 忽略默認外觀和感覺Java
- 21. JMenu問題與侏儒的本地外觀和感覺
- 22. Liferay的6.1主題 - 外觀和感覺
- 23. JTable行標題的外觀和感覺
- 24. Office 2010外觀和感覺?
- 25. JScrollpane外觀和感覺
- 26. MATLAB GUI外觀和感覺
- 27. SEAGLASS的外觀和感覺
- 28. JTable外觀和感覺
- 29. Extjs的外觀和感覺
- 30. DatePicker的外觀和感覺
爲了更快得到更好的幫助,請發佈[SSCCE](http://sscce.org/)。 –