效果如下图所示:
package com.hcj.july22.am;
import java.awt.Button;
import java.awt.Color;
import java.awt.Font;
import java.awt.Frame;
import java.awt.GraphicsEnvironment;
import java.awt.GridLayout;
import java.awt.Panel;
import java.awt.ScrollPane;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class VisualControl {
String[] fonts;
//显示电脑里的所有字体
public static void main(String[] args) {
//获取电脑里的所有数组并放在一个字符串数组里
String[] fonts = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
VisualControl test = new VisualControl(fonts);
test.CreateUI();
}
public VisualControl(String[] fonts) {
super();
this.fonts = fonts;
}
public void CreateUI(){
Frame f = new Frame("电脑里的所有字体");
int total = fonts.length;
Panel p = new Panel(new GridLayout(1, 3));
Panel p1 = new Panel(new GridLayout(total, 1));
Panel p2 = new Panel(new GridLayout(total, 1));
Panel p3 = new Panel(new GridLayout(total, 1));
for(int i = 0; i < total; i++){
Button a = new Button("" + fonts[i]);
a.setBackground(Color.red);
a.setForeground(Color.white);
//12号粗体
a.setFont(new Font(fonts[i], Font.BOLD, 12));
p1.add(a);
Button b = new Button("" + fonts[i]);
b.setBackground(new Color(150, 100, 15));
b.setForeground(Color.white);
//14号普通
b.setFont(new Font(fonts[i], Font.PLAIN, 12));
p2.add(b);
Button c = new Button("" + fonts[i]);
c.setBackground(Color.BLUE);
c.setForeground(Color.white);
//16号斜体
c.setFont(new Font(fonts[i], Font.ITALIC, 12));
p3.add(c);
}
p.add(p1);
p.add(p2);
p.add(p3);
ScrollPane sp = new ScrollPane();
sp.add(p);
f.add(sp, "Center");
f.setSize(250, 180);
f.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}
});
f.setVisible(true);
}
}