我想創建一個快速和骯髒的擺動用戶界面。我的UI有幾個JTextField,然後是JScrollPane中的JTextArea,因爲JTextArea的內容可能會變大。我該如何改進JLabels的渲染?
我正在使用一個簡單的BoxLayout,我不想浪費幾個小時的GridBagLayout。
我的問題是,當我調整窗口大小時,JLabels變得很大。他們將有一行文本坐在巨大的空間裏。它看起來很醜並且很浪費。另一方面,JTextArea不會增加大小,因爲JScrollPane負責處理額外的內容。因此,我將在滾動窗格中顯示巨大的JTextFields和一個微小的JTextArea,並且幾乎看不到一行。
是否有一種簡單的方法可以確保JTextFields不會增加超過一行文本的高度?也許重寫getMaximumSize/getPreferredSize?如果是這樣,代碼是什麼?
解決這種情況的唯一功能是JFrame.pack(),但它會改變窗口大小(非常不可取),有時並不打擾自己侷限於桌面。
「我試圖創建一個快速和骯髒的擺動用戶界面」...是否有任何其他類型的擺動用戶界面? :) –
那麼有那麼慢,肥胖,滿身是汗,仍然髒GridBagLayout :)。 請注意,如果我正在用Java編寫一個嚴肅的應用程序,應該使用哪個UI? –
坦率地說,自從1.4以來,擺動已經提高了很多,特別是在1.5和1.6。如果您正在開發桌面應用程序,那麼您沒有太多選擇。其他的java選項是SWT和QT。我自己並沒有使用QT,但SWT非常好,但是你不會發現SWT開發者可能會長期維護你的代碼。 –