2017-01-21 4 views
-1

ItemListener 및 ItemEvent가있는 행에 대해이 오류가 발생합니다. 나는 그것을 얻는 곳을 ** 넣는다.유형을 확인할 수 없습니까?

import java.awt.FlowLayout; 
import java.awt.Font; 
import java.awt.event.ActionListener; 
import java.awt.event.ActionEvent; 
import javax.swing.JFrame; 
import javax.swing.JButton; 
import javax.swing.JCheckBox; 
import javax.swing.Icon; 
import javax.swing.ImageIcon; 
import javax.swing.JOptionPane; 
import javax.swing.JTextField; 


public class gui extends JFrame { 

private JTextField tf; 
private JCheckBox boldbox; 
private JCheckBox italicbox; 

public gui() { 
    super("The title"); 
    setLayout(new FlowLayout()); 

    tf = new JTextField("This is a sentence", 20); 
    tf.setFont(new Font("Serif", Font.PLAIN, 14)); 
    add(tf); 

    boldbox = new JCheckBox("bold"); 
    italicbox = new JCheckBox("italic"); 
    add(boldbox); 
    add(italicbox); 

    HandlerClass handler = new HandlerClass(); 
    boldbox.addItemListener(handler); 
    italicbox.addItemListener(handler); 
} 

private class HandlerClass implements *ActionListener* { 
    public void itemStateChanged(*ActionEvent* event) { 
     Font font = null; 

     if (boldbox.isSelected()&& italicbox.isSelected()) 
      font = new Font("Serif", Font.BOLD + Font.ITALIC, 14); 
     else if(boldbox.isSelected()) 
       font = new Font("Serif", Font.BOLD, 14); 
     else if(italicbox.isSelected()) 
        font = new Font("Serif", Font.ITALIC, 14); 
     else font = new Font("Serif", Font.PLAIN, 14); 

         tf.setFont(font); 
     } 
    }    
} 

오류가 발생하는 이유를 이해할 수 있도록 도와 주시겠습니까? 튜토리얼을 이끌어내는 사람은 이러한 오류가 발생하지 않습니다.

편집 :

import java.awt.FlowLayout; 
import java.awt.Font; 
import java.awt.event.ActionListener; 
import java.awt.event.ActionEvent; 
import javax.swing.JFrame; 
import javax.swing.JButton; 
import javax.swing.JCheckBox; 
import javax.swing.Icon; 
import javax.swing.ImageIcon; 
import javax.swing.JOptionPane; 
import javax.swing.JTextField; 




public class gui extends JFrame { 

private JTextField tf; 
private JCheckBox boldbox; 
private JCheckBox italicbox; 

public gui() { 
    super("The title"); 
    setLayout(new FlowLayout()); 

    tf = new JTextField("This is a sentence", 20); 
    tf.setFont(new Font("Serif", Font.PLAIN, 14)); 
    add(tf); 

    boldbox = new JCheckBox("bold"); 
    italicbox = new JCheckBox("italic"); 
    add(boldbox); 
    add(italicbox); 

    HandlerClass handler = new HandlerClass(); 
    boldbox.addActionListener(handler); 
    italicbox.addActionListener(handler); 
} 

private class HandlerClass implements ActionListener { 
    @Override 
    public void ActionPerformed(ActionEvent event) { 
     Font font = null; 

     if (boldbox.isSelected()&& italicbox.isSelected()) 
      font = new Font("Serif", Font.BOLD + Font.ITALIC, 14); 
     else if(boldbox.isSelected()) 
       font = new Font("Serif", Font.BOLD, 14); 
     else if(italicbox.isSelected()) 
        font = new Font("Serif", Font.ITALIC, 14); 
     else font = new Font("Serif", Font.PLAIN, 14); 

         tf.setFont(font); 
    } 
}   
} 
+0

? 수입 명세서 및/또는 실제 정의가 누락 되었습니까? – luk2302

답변

1

당신의 ItemEvent 클래스를 가져올 수 있습니다.

당신은 ActionEventItemListenerActionListener에와 ItemEvent을 변경해야합니다

+0

다른 수입 진술 중 하나를 적어 놓았고 적십자는 한 번 사라졌습니다. ItemListener의 적색 십자가가 아직 있습니다. –

1

수입 java.awt.event.ItemEvent에.

은 다음과 같아야합니다

는`ItemListener`와`ItemEvent` 무엇
private class HandlerClass implements ActionListener { 
    @Override 
    public void actionPerformed(ActionEvent event) { 
     Font font = null; 
     if (boldbox.isSelected() && italicbox.isSelected()) 
      font = new Font("Serif", Font.BOLD + Font.ITALIC, 14); 
     else if(boldbox.isSelected()) 
      font = new Font("Serif", Font.BOLD, 14); 
     else if(italicbox.isSelected()) 
      font = new Font("Serif", Font.ITALIC, 14); 
     else font = new Font("Serif", Font.PLAIN, 14); 
      tf.setFont(font); 
     } 
    }    
} 
+0

그랬어. 이제는 "gui.HandlerClass가 상속 된 추상 메소드 ActionListener.actionPerformed (ActionEvent)"을 구현해야합니다. –

+0

'itemStateChanged' 메소드 이름을'actionPerformed'로 변경하십시오. – alayor

+0

이제는 "gui.HandlerClass 유형의 ActionPerformed (ActionEvent) 메서드가 로컬에서 사용되지 않습니다"라고 말합니다. –

관련 문제