すばやくスローなUIを作成しようとしています。私のUIには、JTextAreaの内容が大きくなる可能性があるため、JTextFields、JScrollPaneのJTextAreaがあります。JLabelのレンダリングを改善するにはどうすればよいですか?
私は単純なBoxLayoutを使用しています。GridBagLayoutで時間を無駄にしたくありませんでした。
私の問題は、ウィンドウのサイズを変更するとJLabelsが大きくなることです。彼らは、大量の空きスペースに1行のテキストを置くことになります。それは醜く見え、無駄です。一方、JTextAreaは、JScrollPaneが余分なコンテンツを処理するため、サイズが増加することはありません。だから私は巨大なJTextFieldsと小さなJTextAreaをスクロールペインに表示し、わずかに1行しか表示しません。
JTextFieldsが1行のテキストを超えて高さを増やさないようにする簡単な方法はありますか?おそらくgetMaximumSize/getPreferredSizeをオーバーライドしますか?もしそうなら、コードはどのようなものでしょうか?
この状況を解決する唯一の機能はJFrame.pack()ですが、ウィンドウサイズが変更される(非常に望ましくない)場合があり、デスクトップに閉じ込められないことがあります。
「すばやく汚いスイングUIを作成しようとしています」スイングUIの他のタイプはありますか? :) –
あまりにも遅い、脂肪、汗だくで、まだ汚れているGridBagLayout :)です。 Javaで深刻なアプリケーションを作成している場合、私はどんなUIを使用すべきですか? –
率直に言えば、スイングは1.4以降、特に1.5と1.6で大幅に改善されました。あなたはデスクトップアプリケーションを開発している場合は、とにかく多くのオプションを持っていない。あなたが持っている他のJavaオプションはSWTとQTです。私はQTを自分で使っていませんが、SWTは大丈夫ですが、SWT開発者があなたのコードを長期間維持することはできません。 –