2015-04-03 63 views
-2

我見過很多示例代碼,但都沒有具體說明如何通過在JFrame上使用JLabel而不使用佈局管理器來顯示ImageIcon。我一再被告知,絕對定位比佈局經理更麻煩,效率更低,但我更願意完全控制我的元素將要去的地方。一個完整的尺度範例類(不添加多餘的東西)一個JLabel的,將與絕對定位JFrame上顯示的圖像會大加讚賞,謝謝ImageIcon by JLabel絕對定位示例

+1

像素完美定位是現代/專業用戶界面開發中的幻想。您無法控制渲染過程,這會改變組件所需的大小,這意味着您將需要基本上重新創建佈局管理器API以實現最終的結果。這當然是你的選擇,你可以自由地忽略它,但總共有超過40年的專業軟件開發,這就是爲什麼我們告訴你應該使用佈局管理器 – MadProgrammer 2015-04-03 21:37:06

+0

當你說渲染過程,你指的是什麼?我知道調整JFrame的大小可能會讓事情搞砸,但我計劃在我的應用程序全屏。我需要的圖像必須在屏幕上移動,因此我不希望將其「釘」到窗口的特定位置。對於一個圖像,您希望選擇哪種佈局,比如說我想用屏幕上的箭頭鍵移動? – nicknicknick111 2015-04-03 21:41:03

+1

Java/Swing使用OS的渲染管道,Windows上的DirectX/OpenGL,Linux上的OpenGL以及Mac上的蘋果。單個字體將在每個平臺上以不同方式渲染(例如),每個平臺上需要更多或更少的空間。 *「對於一幅圖像,您希望使用哪種佈局,比如說我想用屏幕上的箭頭鍵移動?」 - - 這還不足以提供建議,但我個人更傾向於使用自定義繪畫 – MadProgrammer 2015-04-03 21:47:18

回答

2

我所需要的圖像必須圍繞移動屏幕

原始問題中缺少一條重要信息。我沒有爲此使用空佈局的問題。

我想用屏幕上的箭頭鍵移動?

並且不要爲此使用KeyListener。相反,你應該使用密鑰綁定。

請參閱Motion Using the Keyboard中的KeyboardAnimation.java代碼,以解決此問題。

+0

這是針對鍵綁定的提示,我想我已經開始理解了。我仍然需要一個絕對定位jlabel的示例代碼,它顯示在JFrame中,因爲我似乎無法讓它工作,我會發布我自己的代碼,但它太遙遠了,我認爲它不會有幫助。 – nicknicknick111 2015-04-04 00:47:17

+0

@ nicknicknick111,'我仍然需要一個絕對定位jlabel的示例代碼 - ???這就是代碼在所有三個例子中的作用。 – camickr 2015-04-04 01:35:07

+0

該代碼顯示綁定鍵和KeyListeners之間的區別,而不是JFrame上的絕對定位標籤。我很高興所有的額外信息,但這真的是我的問題要求 – nicknicknick111 2015-04-04 02:44:40