我是初学者,我正在使用教程制作一个简单的程序,在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);
}
}