5つのクラスを作成しました。これは簡単にGUIを作成し、参加者を会議に録音する目的に役立ちます。私はパネルを構築し、それらを追加しました、FocusListeners、ActionListeners、ItemListeners。プログラムは正常にコンパイルされますが、NoClassDefFoundErrorでクラッシュします。
私が集めることから、私がクラッシュしたときに出てくるメッセージはクラスパスに関連していますが、それを修正する方法は本当に分かりません。私がそこにいることを知っている
java.lang.NoClassDefFoundError: ConferenceHandler
at ConferenceGUI.buildButtonPanel(ConferenceGUI.java:63)
at ConferenceGUI.<init>(ConferenceGUI.java:33)
at IsItWorking.<init>(IsItWorking.java:16)
at IsItWorking.main(IsItWorking.java:28)
Caused by: java.lang.ClassNotFoundException: ConferenceHandler
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at ConferenceGUI.buildButtonPanel(ConferenceGUI.java:63)
at ConferenceGUI.<init>(ConferenceGUI.java:33)
at IsItWorking.<init>(IsItWorking.java:16)
at IsItWorking.main(IsItWorking.java:28)
at __SHELL0.run(__SHELL0.java:6)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at bluej.runtime.ExecServer$3.run(ExecServer.java:774)
:
private void buildButtonPanel()
{
//create the buttonpanel
buttonPanel = new JPanel(new FlowLayout());
//create the buttons
calculate = new JButton("Calculate Charges");
clear = new JButton ("Clear");
//add listeners to the buttons
ConferenceHandler handler = new ConferenceHandler(this);
calculate.addActionListener(handler); //crash occurs on this line
clear.addActionListener(handler);
//create a text area
JTextArea textArea = new JTextArea(5,30);
textArea.setLineWrap(true); textArea.setWrapStyleWord(true);
//add a scrollbar to the textarea
JScrollPane scroll = new JScrollPane (textArea);
//add everything to the buttonpanel
buttonPanel.add(calculate); buttonPanel.add(clear); buttonPanel.add(scroll);
}
私が取得クラッシュメッセージ:ここにクラッシュが発生したコードは(私は私のパネルのための2つのボタンのActionListenerにを追加したときにそれがあります多くの経験を持つ、ここで多くの人々、そして私はこの1つ上のinterwebs上の任意のヘルプを見つけることができないところConferenceHandlerを見つける(と私は愚かな響きのために謝罪するためにJavaを伝えるためとして
'-Classpath'引数を使って' ConferenceHandler'がどこにあるかをjavaに教えましたか? 'java -classpath/path/to/directory/with/compiled/ConferenceHandler program'のように – birryree
宿題タグについては十分に公正ですが、私はそれを使わずにいくつかの質問を投稿しています。 JavaにConferenceHandlerがどこにあるかを教えてください(そして、私は愚かな宿題について質問しています)。Blue Jayを使用しています。メインをクリックしてプログラムを実行するだけです。コマンドラインからこれをどうやって行うのか分かりません。 – unit
私はBlueJの部分(決してそれを使用していない)については分かりませんが、すべてのクラスをパッケージに入れたらどうですか?それはそれが正常に動作する方法です。技術的には、パッケージのないクラスはパッケージ内のクラスには見えません。 – BalusC