所以,我有一個包含JPanel的ArrayList;所有JPanel都有一個BorderLayout,它帶有一個設置在NORTH上的JPanel(包含兩個JLabel)和一個設置在CENTER上的JTextArea(當然包含文本)。我的問題是如何修改每個JTextArea的字體大小?修改ArrayList中所有JPanel的字體大小<JPanel>
1
A
回答
5
下面是一些簡單的代碼,允許通過setFontSize(int index, int fontSize)
方法設置JTextArea
字體大小。請注意,這僅適用於panels
陣列列表中的文本區域。在以下示例中,我更改了文本區域#1和#3的字體(請參閱main
方法以瞭解執行此操作的調用)。
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.Font;
import java.util.ArrayList;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;
public class SimpleFrame extends JFrame {
ArrayList<JPanel> panels = new ArrayList<JPanel>();
public SimpleFrame() {
super("Simple Panel List Example");
JPanel content = (JPanel)getContentPane();
content.setLayout(new FlowLayout(FlowLayout.CENTER, 10, 10));
// add some panels to the array list
for(int i = 0; i < 5; i++) {
BorderLayout b = new BorderLayout();
JPanel p = new JPanel(b);
JLabel north = new JLabel("Label #"+i);
JTextArea center = new JTextArea("TextArea #"+i);
p.add("North", north);
p.add("Center", center);
panels.add(p);
content.add(p);
}
}
// change the font size of the JTextArea on panel #i
public void setFontSize(int i, int fontSize) {
JPanel p = panels.get(i);
JTextArea t = (JTextArea)((BorderLayout)p.getLayout()).getLayoutComponent("Center");
Font f = t.getFont();
Font f2 = f.deriveFont((float)fontSize);
t.setFont(f2);
}
public static void main(String[] argv) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
SimpleFrame c = new SimpleFrame();
c.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
c.pack();
c.setVisible(true);
// we can change the font size using our setFontSize method
c.setFontSize(1, 8);
c.setFontSize(3, 16);
}
});
}
}
相關問題
- 1. 更改JPanel及其所有元素的字體大小
- 2. 如何修改JScrollPane中的JPanel大小?
- 3. 修改過的h1字體大小
- 4. 修改字體的大小和類型
- 5. Permamently修改Vim的字體大小
- 6. 修改字體大小與UIPickerView
- 7. 不同對象的字體大小JPanel
- 8. 更改字體系列後調整所有字體大小
- 9. 在arraylist中添加JPanel <JPanel>
- 10. 修復JEditorPane在JPanel中的大小
- 11. 如何更改div中的所有字體大小?
- 12. 如何更改Eclipse中的所有字體大小?
- 13. Java Swing - 如何更改JPanel TitledBorder上的字體大小?
- 14. 以編程方式修改所有按鈕的文字大小?
- 15. 如何修改Xamarin中的.resx值中的字體大小?
- 16. 所有頁面的字體大小
- 17. 在Eclipse中更改所有字體大小
- 18. 初始化ArrayList <ArrayList <Int>>在kotlin中的大小
- 19. 在VB.Net中更改Windows應用程序中所有窗體的字體大小
- 20. 動態更改JPanel大小
- 21. 修改GTKAda中按鈕標籤的字體大小和顏色
- 22. 更改div內所有元素的字體大小
- 23. 在ViewBox中修復字體大小WPF
- 24. 更改應用程序中所有控件的字體大小(獲勝窗體)
- 25. 增加所有控件的大小和字體大小
- 26. 更改所有頁面中的一個字母的字體和大小
- 27. 更改字體大小和修改JavaScript顯示/隱藏切換
- 28. 在tableview中修改字體大小是否可用?
- 29. 字體和字體大小更改
- 30. 更改Div字體大小和字體
你可能需要尋找到[PLAF(http://stackoverflow.com/tags/look-and-feel/info)或'UIManager'。 –