我有一個Java Swing JLabel數組。我的程序的用戶可以向JFrame添加一個新的JLabel,並且我希望根據框架中JLabel的數量來改變JLabel中文本的大小。如果JLabel太多,文本仍然適合,並且不會與其他JLabel重疊。在JLabel中進行文本動態調整大小
5
A
回答
2
看起來不漂亮,但如果這是你想要的,下面是一段編譯和運行的代碼。隨意提取您的項目所需的任何代碼。玩得開心 - M.S.
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. 如何在瀏覽器調整大小時進行動態調整大小?
- 2. JLabel調整大小JPanel
- 3. 要在GridLayout中調整大小的JLabel
- 4. 是否可以調整JLabel中的文本大小?
- 5. 多行文本:在調整大小
- 6. Flash動態調整大小
- 7. Bootstrap動態調整大小
- 8. iFrame動態調整大小
- 9. TabLayoutPanel動態調整大小?
- 10. $ .dialogue()動態調整大小
- 11. SVG動態調整大小
- 12. jquery行高度動態調整大小
- 13. 動態調整動態iframe的大小
- 14. 動態調整大小的WPF文本框的最大高度
- 15. 動態調整內容框中的文本大小
- 16. 如何在一個範圍內動態調整文本大小?
- 17. 在div內動態調整文本大小並響應
- 18. java swing調整大小ImageIcon根據jLabel
- 19. 沒有JLabel調整圖像大小
- 20. 調整圖像大小以適應JLabel
- 21. 是否可以調整Jlabel的大小?
- 22. 如何調整JLabel ImageIcon的大小?
- 23. 動態文本 - 字體自動調整大小
- 24. 獲取模態以在窗口大小調整時動態調整大小
- 25. 在iPhone中調整文本大小iPhone
- 26. 在tkinter框中調整文本大小
- 27. 在uitableviewcell中調整文本的大小
- 28. 在Textbutton中調整文本的大小
- 29. 在HTML/JS中調整文本大小
- 30. 在UITextView中調整文本大小
好..你有任何問題嗎?如果是這樣,請隨時編輯您的帖子並添加問題。最好用SSCCE(http://pscode.org/sscce.html)您已經嘗試過的內容。 –
問題是什麼是一些很好的代碼來動態調整標籤中的文本大小,以便用戶可以添加儘可能多的標籤 – italiano40