私はJava Swing JLabelsの配列を持っています。私のプログラムのユーザは、JFrameに新しいJLabelを追加することができます。また、JLabel内のテキストのサイズを、フレーム内のJLabelの数に基づいて変更したいとします。 JLabelが多すぎる場合、テキストはそのまま残り、他のJLabelと重ならないようになります。JLabelのテキストを動的にサイズ変更する
5
A
答えて
2
しかし、それはあなたが欲しいものであれば、ここでコンパイルして実行するための素早いコードがあります。あなたのプロジェクトに必要なコードを自由に抽出してください。楽しんで、 - M.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class LabelSize extends JPanel {
private Font font;
private JPanel panel;
private JLabel label = new JLabel ("Font Size Adapter Label", JLabel.CENTER);
private JTextField tf = new JTextField ("Type in text for new label here and hit [Enter]");
public LabelSize() {
super (new BorderLayout());
panel = labelPanel();
add (panel, "North");
add (tf, "South");
tf.addActionListener (new ActionListener() {
public void actionPerformed (ActionEvent e) {
label.setText (tf.getText());
label.setFont (font);
int labelW = (int) Math.ceil (label.getPreferredSize().getWidth());
int maxWidth = (int) Math.floor (panel.getSize().getWidth());
if (labelW <= maxWidth)
return;
for (int k = 1 ; labelW > maxWidth ; k++) {
Font labelFont = font.deriveFont (font.getSize() - k*1.0f);
label.setFont (labelFont);
labelW = (int) Math.ceil (label.getPreferredSize().getWidth());
}}});
}
private JPanel labelPanel() {
JPanel lp = new JPanel(new BorderLayout());
lp.setPreferredSize (new Dimension (270,30));
lp.add (label, "North");
font = label.getFont();
return lp;
}
public static void main (String[] args) {
JFrame lsFrame = new JFrame ("Lfit");
lsFrame.add (new LabelSize());
lsFrame.pack();
lsFrame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
lsFrame.setVisible(true);
}}
+0
はありがたいですが、私のために働いているものはありません。 Jlabelのサイズ – italiano40
+0
あなたは大歓迎です、そして、申し訳ありませんが、私はcomentを理解していません - コードのどの部分がうまくいかないのですか?私はちょうど編集者にコピーして保存し、コンパイルして実行し、うまく動作します。あなたの質問を正しく受けられなかったかもしれません - どのコンポーネント(何か)をリサイズしたいのですか? JLabelを固定(デフォルト)フォントにしたいですか? –
関連する問題
- 1. サイズ変更後にJPanelでJLabelのテキストが消える
- 2. splitContainerパネルのサイズを動的に変更
- 3. Cufon動的なサイズ変更
- 4. 動的にサイズ変更のUITableViewCellハイツ
- 5. 親コンテナのサイズ変更時にdojo dijit.Gridウィジェットのサイズを自動的に変更
- 6. JLabel内の一部のテキストの色を変更する
- 7. サイズ変更matlotlibのビュー境界を自動的に変更
- 8. チューブをレンダリングしてサイズを変更し、動的にテキストを追加します。
- 9. "panel.add(new JLabel(" "")); "にあるJLabelのフォントサイズを変更する方法"
- 10. フォームのサイズを変更するときにリストボックスのサイズを自動的に変更する
- 11. マウスクリックのx、yに基づいて動的にJLabelアイコンを変更します。
- 12. JLabelのアイコンを変更するには?
- 13. 動的な背景で動作するように、Webサイトイメージとテキストdivをサイズ変更して移動する
- 14. ExtJS:ウィンドウ上のフォームフィールドのサイズを自動的に変更する
- 15. コンテンツのiframeでFancyboxのサイズを自動的に変更する
- 16. ブラウザで画像とテキストのサイズを変更、移動、スケーリングする
- 17. ExtJSグリッドカラムの動的サイズ変更
- 18. Androidリストビュー行テキスト動的に変更
- 19. AS3のボタンのテキストを(動的に)変更するには
- 20. Fancybox 2のiframeを動的にサイズ変更する方法は?
- 21. WPFウィンドウのサイズを動的に変更する方法は?
- 22. 動的に入力タグのサイズを変更する方法
- 23. java動的にパネルのサイズを変更する方法
- 24. モーダルダイアログのサイズを動的に変更する方法は?
- 25. Canvasのサイズを動的に変更する方法は?
- 26. AndroidのGLSurfaceViewを動的にサイズ変更する
- 27. FirefoxでiFrameのサイズを動的に変更する方法は?
- 28. コマンドラインウィンドウのサイズを自動的に変更する
- 29. 配列のサイズを動的に変更するC++
- 30. TStringGrid行のサイズを自動的に変更する方法
[OK] ..そのことについてご質問ありましたか?その場合は、投稿を編集して質問を追加してください。 SSCCE(http://pscode.org/sscce.html)を使用して、すでに試したことがあることをお勧めします。 –
質問は何ですか?動的なサイズのコードは何ですか?ユーザーがラベルを付けるために多くのラベルを追加できるように、 – italiano40