Ошибка Java говорит, что JOptionPane не может быть решена, не использовал JOptionPane

Я новичок, и я использовал учебник, чтобы сделать простую программу, которая отображает текстовые поля в JFrame. Я не использовал JLayeredPane во всем проекте, но я все еще получаю эту ошибку, которая говорит: "Тип javax.swing.JLayeredPane не может быть разрешен. На него косвенно ссылаются необходимые файлы.class". Почему я получаю эту ошибку? Вот код (есть два класса):

Второй класс:

  package eventHandlerTutorial;
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JPasswordField;
import javax.swing.JOptionPane;
public class secondClass extends JFrame
{
private JTextField item1;
private JTextField item2;
private JTextField item3;
private JPasswordField passwordField;
public secondClass()
   {
    super("The title");
    setLayout(new FlowLayout());
    item1=new JTextField(10);
    add(item1);
    item2=new JTextField("enter text here");
    add(item2);
    item3=new JTextField("uneditable",20);
    item3.setEditable(false);
    add(item3);
    passwordField=new JPasswordField("mypass");
    add(passwordField);
    theHandler handler=new theHandler();
    item1.addActionListener(handler);
    item2.addActionListener(handler);
    item3.addActionListener(handler);
    passwordField.addActionListener(handler);
   }
private class theHandler implements ActionListener
        {
    public void actionPerformed(ActionEvent event)
            {
            String string="";
            if(event.getSource()==item1)
                string=String.format("field 1: %s",event.getActionCommand());
            else if(event.getSource()==item2)
                string=String.format("field 2: %s",event.getActionCommand());
            else if (event.getSource()==item3)
                string=String.format("field 3: %s",event.getActionCommand());
            else if(event.getSource()==passwordField)
                string=String.format("password field is: %s",event.getActionCommand());
            JOptionPane.showMessageDialog(null,string);         
            }
        }
}

основной класс:

 package eventHandlerTutorial;
import javax.swing.JFrame;
public class mainClass 
{
 public static void main(String[] args)
  {
  secondClass sc=new secondClass();
  sc.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  sc.setSize(350,100);
  sc.setVisible(true);
  }
}

1 ответ

Объяснение ошибки:
«... не может быть разрешено. На него косвенно ссылаются требуемые файлы .class.».

Другое дело, что в своем вопросе вы говорите «JOptionPane»,
а
в объяснении вы говорите «JLayeredPane».

Иногда (из-за ошибок IDE) приходится импортировать вручную.
Добавлять

      import javax.swing.JLayeredPane;

вручную.
и проверьте это.

если вы все еще сталкиваетесь с проблемой, попробуйте очистить проект.

Другие вопросы по тегам