2011-05-08 185 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));

很好用!