有时间的请看看!我这个程序就是想实现在窗口中输入用户名和密码,然后再一个文本区域显示刚才输入的用户名和密码。
报错已经写在这里了:
Exception in thread "main" java.lang.NoClassDefFoundError: b (wrong name: practi
se/b)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
4)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: b.  Program will exit.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class b {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
TextComponentFrame frame = new TextComponentFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
}
class TextComponentFrame extends JFrame {
public TextComponentFrame() {
setTitle("TextComponentFrameTest");
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
final JTextField textField = new JTextField();
final JPasswordField passwordField = new JPasswordField();
JPanel northPanel = new JPanel();
northPanel.setLayout(new GridLayout(2, 2));
northPanel.add(new JLabel("User name:", SwingConstants.RIGHT));
northPanel.add(textField);
northPanel.add(new JLabel("Password:"), SwingConstants.RIGHT);
northPanel.add(passwordField);
add(northPanel, BorderLayout.NORTH);
final JTextArea textArea = new JTextArea(8, 40);
JScrollPane scrollPane = new JScrollPane(textArea);
add(scrollPane, BorderLayout.CENTER);
JPanel southPanel = new JPanel();
JButton insertButton = new JButton("Insert");
southPanel.add(insertButton);
insertButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
textArea.append("User name:" + textField.getText()
+ "Password:"
+ new String(passwordField.getPassword() + "\n"));
}
});
add(southPanel, BorderLayout.SOUTH);
}
public static final int DEFAULT_WIDTH = 300;
public static final int DEFAULT_HEIGHT = 300;
}
package practise;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class b {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
TextComponentFrame frame = new TextComponentFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
}
class TextComponentFrame extends JFrame {
public TextComponentFrame() {
setTitle("TextComponentFrameTest");
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
final JTextField textField = new JTextField();
final JPasswordField passwordField = new JPasswordField();
JPanel northPanel = new JPanel();
northPanel.setLayout(new GridLayout(2, 2));
northPanel.add(new JLabel("User name:", SwingConstants.RIGHT));
northPanel.add(textField);
northPanel.add(new JLabel("Password:"), SwingConstants.RIGHT);
northPanel.add(passwordField);
add(northPanel, BorderLayout.NORTH);
final JTextArea textArea = new JTextArea(8, 40);
JScrollPane scrollPane = new JScrollPane(textArea);
add(scrollPane, BorderLayout.CENTER);
JPanel southPanel = new JPanel();
JButton insertButton = new JButton("Insert");
southPanel.add(insertButton);
insertButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
textArea.append("User name:" + textField.getText()
+ "Password:"
+ new String(passwordField.getPassword() + "\n"));
}
});
add(southPanel, BorderLayout.SOUTH);
}
public static final int DEFAULT_WIDTH = 300;
public static final int DEFAULT_HEIGHT = 300;
}

解决方案 »

  1.   

    Exception in thread "main" java.lang.NoClassDefFoundError应该是你类名写错了,或者编译环境没设置好,比如CLASSPATH路径
      

  2.   

    我很郁闷呀,这种情况遇到过好几次了,能不能告诉怎么改呀,我好像没设置classpath路径
      

  3.   

    可是我用Myeclipse怎么也不行呢,而且在运行其他程序时是没事儿的
      

  4.   

    类名就是一个小写的字母,不太规范,是不是这个类名与你包中其他的类同名了,或者main函数所在的类名与java文件名不一致,把类名换个名称试试