gpt4 book ai didi

java - 更改框架字体以及框架中所有组件的字体

转载 作者:太空宇宙 更新时间:2023-11-04 07:40:35 26 4
gpt4 key购买 nike

我有以下给出的练习代码,我尝试找出为什么 JPanel 中的字体与 Panel 字体不同。我注意到有一个 setFont 方法可以改变 Frame 的字体,但是 Frame 中的 Panel 的字体也改变了,但 JPanel 中的字体没有改变,为什么:

import java.awt.*; 
import javax.swing.*;
import java.awt.event.*;
public class MyAppCheck extends Frame {
public MyAppCheck (String title) {
super(title);
setFont(new Font("Verdana", Font.BOLD, 12));
setLayout(new GridLayout(1,3));
Panel cboxes = new Panel();
cboxes.setLayout(new GridLayout(0,1));
Color c = new Color(80,120,230);
cboxes.setBackground(c);
Checkbox c1 = new Checkbox("Windows"); Checkbox c2 = new Checkbox("Linux");
Checkbox c3 = new Checkbox("IRIX");
Checkbox c4 = new Checkbox("MacOS");

cboxes.add(c1);
cboxes.add(c2);
cboxes.add(c3);
cboxes.add(c4);
c2.setState(true);
c4.setState(true);
JPanel cboxgrp = new JPanel();
cboxgrp.setLayout(new GridLayout(0,1));
cboxgrp.setBackground(Color.YELLOW);
cboxgrp.setBorder(BorderFactory.createTitledBorder("Languages"));
CheckboxGroup progLang = new CheckboxGroup();
Checkbox cg1 = new Checkbox("Pascal", false, progLang);
Checkbox cg2 = new Checkbox("Java", false, progLang);
Checkbox cg3 = new Checkbox("Basic", false, progLang);
Checkbox cg4 = new Checkbox("C", false, progLang);
Checkbox cg5 = new Checkbox("C++", false, progLang);

cboxgrp.add(cg1);
cboxgrp.add(cg2);
cboxgrp.add(cg3);
cboxgrp.add(cg4);
cboxgrp.add(cg5);
cg3.setState(true);
add(cboxes);
add(cboxgrp);
System.out.println("Font_1:"+cboxes.getFont());
System.out.println("Font_2:"+cboxgrp.getFont());
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) {
System.exit(0);
}
});
}

public static void main(String[] args){
MyAppCheck app2 = new MyAppCheck("Application Window");
app2.setSize(200, 200);
app2.setVisible(true);

}
}

抱歉我的英语不好......而且只是想告诉你我是 awt/swing 的新手

最佳答案

java.awt.Panel 选择默认系统字体; javax.swing.JPanel 取自 UIManager 。请注意Mixing Heavyweight and Lightweight Components这是一个坏主意。

关于java - 更改框架字体以及框架中所有组件的字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16122142/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com