他のボタンを無効にするボタンを使用してパネルを作成しようとしています。完全にコンパイルされたコードの問題は何ですか?実行中にエラーが表示されます。これをデバッグできません。
Exception in thread "main" java.lang.NoClassDefFoundError: buttondemo (wrong nam
e: components/buttondemo)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14
2)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:472)
これがコードです
import javax.swing.AbstractButton;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.ImageIcon;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
public class buttondemo extends JPanel implements ActionListener {
private JButton b1, b2, b3;
public buttondemo() {
ImageIcon Left = createImageIcon("C:\\Users\\nco\\Desktop\\Swing\\components\\images\\left.png");
ImageIcon Right = createImageIcon("C:\\Users\\nco\\Desktop\\Swing\\components\\images\\right.jpg");
ImageIcon Middle = createImageIcon("C:\\Users\\nco\\Desktop\\Swing\\components\\images\\middle.jpg");
b1 = new JButton("Disable middle button", Left);
b1.setVerticalTextPosition(AbstractButton.CENTER);
b1.setMnemonic(KeyEvent.VK_D);// shortcut D
b1.setActionCommand("disable");
b2 = new JButton("middle button", Middle);
b2.setVerticalTextPosition(AbstractButton.BOTTOM);
b2.setVerticalTextPosition(AbstractButton.CENTER);
b3.setMnemonic(KeyEvent.VK_M);// shortcut M
b3 = new JButton("Enable middle button", Right);
b3.setVerticalTextPosition(AbstractButton.RIGHT);
b3.setMnemonic(KeyEvent.VK_E);// shortcut E
b3.setActionCommand("enable");
b3.setEnabled(false);
b1.addActionListener(this);
b3.addActionListener(this);
b1.setToolTipText("click on the middle button to " + "disable middle");
b3.setToolTipText("click on the middle button to " + "enable middle");
b2.setToolTipText("click disable");
add(b1);
add(b2);
add(b3);
}
public void actionPerformed(ActionEvent e) {
if ("disable".equals(e.getActionCommand())) {
b2.setEnabled(false);
b1.setEnabled(false);
b3.setEnabled(true);
} else {
b2.setEnabled(true);
b1.setEnabled(true);
b3.setEnabled(false);
}
}
protected static ImageIcon createImageIcon(String path) {
java.net.URL img = buttondemo.class.getResource(path);
if (img != null) {
return new ImageIcon(img);
} else {
System.err.println("could not find path" + path);
return null;
}
}
private static void createAndShowGUI() {
JFrame frame = new JFrame("Button demso");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
buttondemo Contentpane = new buttondemo();
Contentpane.setOpaque(true);
frame.setContentPane(Contentpane);
frame.pack();
frame.setVisible(true);
}
public static void main(String args[]) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}