
コンパイルすると、"A大学"っていうパネルが出てきて、それをクリックす
コンパイルすると、"A大学"っていうパネルが出てきて、それをクリックすると、A大学の説明が書いてある別のウィンドウが起動するっていうソースコードを作りたいんですが、エラーがでます。どこがおかしいのかヒントだけでもください。
ソースコード:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class Param {
public static void main(String args[]) {
new MainWindow("A大学のウィンドウ");
}
}
class MainWindow extends Frame implements ActionListener{
static JButton openBtn;
MainWindow(String title) {
super(title);
JPanel panel = new JPanel();
panel.add(openBtn = new JButton("A大学"));
openBtn.addActionListener(actionListener);
this.add(panel, BorderLayout.CENTER);
pack();
setVisible(true);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) { System.exit(0); }
});
}
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
if (source == SubWindow.openBtn) {
new SubWindow("A大学の説明");
//MainWindow.setVisible(true);
}
}
}
class SubWindow extends Frame {
SubWindow() {
Frame mainWindow = new Frame("説明");
JTextArea ta = new JTextArea("Hello World!!", 4, 15);
mainWindow.add(ta,BorderLayout.CENTER);
pack();
setVisible(true);
}
}
エラー:
シンボルを見つけられません。
シンボル: 変数 actionListener
場所 : MainWindow の クラス
openBtn.addActionListener(actionListener);
シンボルを見つけられません。
シンボル: 変数 openBtn
場所 : SubWindow の クラス
if (source == SubWindow.openBtn) {
シンボルを見つけられません。
シンボル: コンストラクタ SubWindow(java.lang.String)
場所 : SubWindow の クラス
new SubWindow("A大学の説明");
エラー 3 個
投稿日時 - 2010-07-31 17:56:23
> シンボルを見つけられません。
> シンボル: 変数 actionListener
actionListenerという変数やフィールドはプログラムの中のどこにもないので、エラーになって当然。
> シンボルを見つけられません。
> シンボル: 変数 openBtn
SubWindowクラスにはopenBtnというフィールドがないので、エラーになって当然。
openBtnを持っているのはMainWindowなのでは?
> シンボルを見つけられません。
> シンボル: コンストラクタ SubWindow(java.lang.String)
SubWindowクラスで定義されているコンストラクタは引数無しのSubWindow()だけなので、エラーになって当然。
MainWindowは引数にStringを取るコンストラクタをちゃんと定義してますね。
投稿日時 - 2010-07-31 21:26:42
このQ&Aは役に立ちましたか?
4人が「このQ&Aが役に立った」と投票しています
回答(1)