2011-05-08 141 views
2

我正在制作地址簿,我希望用户能够对其联系人进行颜色编码[例如,所有'朋友'都以蓝色字体打印,所有家庭都是绿色等]我添加了复选框,并添加了动作侦听器。但是,我收到一个编译错误。通过JCheckBox更改文本字段输入的字体颜色

friend = new JCheckBox("Friend"); 
    coWorker = new JCheckBox("Business"); 
    family = new JCheckBox("Family"); 
    miscellaneous = new JCheckBox("Miscellaneous"); 


jPanel4.add(friend); 
    jPanel4.add(coWorker); 
    jPanel4.add(family); 
    jPanel4.add(miscellaneous); 

    HandlerClass handler = new HandlerClass(); 
    friend.addItemListener(handler); 
    coWorker.addItemListener(handler); 
    family.addItemListener(handler); 
    miscellaneous.addItemListener(handler); 


jButton1.addActionListener(new java.awt.event.ActionListener() { 
     public void actionPerformed(java.awt.event.ActionEvent e) { 
      AddressBookMain.addEntry(new AddressBook(jTextField1.getText(), jTextField2.getText(), jTextField3.getText(), jTextField4.getText())); 
     } 
    }); 

`private class HandlerClass implements ItemListener { 
    public void itemStateChanged(ItemEvent event) { 
     jTextField1.setFont(Color.BLUE); 

    } 

}` 
+0

你会得到什么汇编错误? – Kaj 2011-05-08 18:00:15

回答

8

JTextField没有使用颜色的setFont方法。我认为你正在寻找jTextField1.setForeground(Color.BLUE);

+0

这工作。谢谢Kaj。 – STANGMMX 2011-05-08 18:05:43

+0

太棒了!顺便说一句,我认为你在这种情况下应该将问题标记为回答(我认为这是通过在我的答案旁边的东西上打勾) – Kaj 2011-05-08 18:10:49

0

jTextField1.setFont(new Font(“Serif”,Font.PLAIN,14));

很好用!