我正在创建一个简单的粗体和斜体复选框,它将更改文本字段 t1 中写入的字体样式。我这样做了,但它没有帮助。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class S4 extends JFrame implements ItemListener{
public S4(){
setSize(300,150);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JCheckBox c1,c2;
JTextField t1;
Panel p1 = new Panel();
c1 = new JCheckBox("Bold",false);
c2 = new JCheckBox("Italic",false);
t1 = new JTextField(40);
p1.add(t1);
p1.add(c1);
p1.add(c2);
c1.addItemListener(this);
c1.addItemListener(this);
getContentPane().add(p1);
}
public void itemStateChanged(ItemEvent e){
Font f;
if(c1.isSelected() && c2.isSelected()){
f = new Font("Aerial",Font.BOLD+Font.ITALIC,13);
}
else if (c1.isSelected()){
f = new Font("Aerial",Font.BOLD,13);
}
else if (c2.isSelected()){
f = new Font("Aerial",Font.ITALIC,13);
}
else {
f = new Font("Aerial",Font.PLAIN,13);
}
t1.setFont(f);
}
public static void main(String [] args){
new S4();
}
}