- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
{{category JAVA}}
{{category Java}}
{{category プログラミング}}
{{ref FontPanel.java}}
java -encoding EUC-JP FrontPanel.java
import java.awt.*;
import java.awt.event.*;
public class FontPanel extends Frame implements ItemListener{
private Frame frame;
private Choice fontnamechoice;
private Choice fontsizechoice;
private String fontname = "SansSerif";
private int fontsize = 18;
FontPanel(){
super("FontPanel");
Font[] fonts = GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts();
fontnamechoice = new Choice();
for(int i = 0; i < fonts.length; i++){
fontnamechoice.add(fonts[i].getName());
}
fontnamechoice.addItemListener(this);
fontsizechoice = new Choice();
fontsizechoice.add("10");
fontsizechoice.add("12");
fontsizechoice.add("14");
fontsizechoice.add("16");
fontsizechoice.add("18");
fontsizechoice.add("20");
fontsizechoice.select("14");
fontsizechoice.addItemListener(this);
Panel p = new Panel(new GridLayout());
p.add(fontnamechoice);
p.add(fontsizechoice);
setLayout(new BorderLayout());
add(p, BorderLayout.NORTH);
setBounds( 0, 0, 350, 200);
setVisible(true);
}
public void itemStateChanged(ItemEvent e) {
Object o = e.getSource();
if(o == null){
}else if(o == fontnamechoice){
fontname = ((Choice)o).getSelectedItem();
}else if(o == fontsizechoice){
fontsize = Integer.parseInt(((Choice)o).getSelectedItem());
}
repaint();
}
public static void main(String[] args){
FontPanel test = new FontPanel();
}
public void paint(Graphics g){
Graphics2D g2 = (Graphics2D)g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2.setBackground(Color.white);
g2.clearRect(0, 0, getWidth(), getHeight());
g2.setColor(Color.black);
Font f = new Font(fontname, Font.PLAIN, fontsize);
g2.setFont(f);
g2.drawString("あいうえお テスト 思い出", 40, 80);
g2.drawString("abcedefghijklmn", 40, 110);
g2.drawString("ABCEDEFGHIJKLMN", 40, 140);
}
}