dポイントプレゼントキャンペーン実施中!

コンパイルエラー <identifier>がありませんの意味が分かりません。教えていただけないでしょうか。

A 回答 (3件)

//フレームにラベルをセット(BorderLayoutの残りエリア


frame.add(label,BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

この部分の}が余分なのではないでしょうか。

//フレームにラベルをセット(BorderLayoutの残りエリア
frame.add(label,BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//}
こうすれば良いかと。
    • good
    • 0
この回答へのお礼

 アドバイスのとおりにしたらコンパイルできました!

本当にありがとうございます。

お礼日時:2005/11/09 16:27

 さっきの参考URLの説明のとおり「クラスやメソッドのブロック記述が間違っている」のです。



 ソースをもう一度よく見てみましょう。ブロック記述とは中括弧の記述だとお考えください。

この回答への補足

frame.setVisible(true);のあとに閉じパーレンがひとつ足りないことに気づきソースを打ち直してみたらエラーが増えてしまいました。

javaimport javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class SampleD8L1{
private JFrame frame;
private JPanel panel;
private JLabel label;
private JButton btnA;
private JButton btnB;
private JButton btnC;

public SampleD8L1(){
//フレームを作成してレイアウトをセット
frame = new JFrame("Click Me Buttons!");
frame.setLayout(new BorderLayout());

//パネルを作成してレイアウトをセット
panel = new JPanel();
panel.setLayout(new GridLayout(1,3,5,5));

//表示用ラベルを作成
label = new JLabel("ボタンをクリックしてください",JLabel.CENTER);

//btnAを作成
btnA = new JButton("btnA");

//btnAがクリックされた時のイベントを定義
btnA.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
label.setText("btnAがクリックされました");
}
});

//btnBを作成
btnB = new JButton("btnB");

//btnBがクリックされた時のイベントを定義
btnB.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
label.setText("btnBがクリックされました");
}
});

//btnCを作成
btnC = new JButton("btnC");

//btnCがクリックされた時のイベントを定義
btnC.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
label.setText("btnCがクリックされました");
}
});

//パネルにボタンをセット
panel.add(btnA);
panel.add(btnB);
panel.add(btnC);

//フレームにパネルをセット(BorderLayoutの北側)
frame.add(panel,BorderLayout.NORTH);

//フレームにラベルをセット(BorderLayoutの残りエリア
frame.add(label,BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

//フレームのサイズを定義して表示
frame.setSize(250,100);
frame.setVisible(true);
}

//mainメソッドの定義
public static void main(String args[]){
SampleD8L1 application = new SampleD8L1();
}
}

コンパイル結果

C:\Java\Samples\D8>javac SampleD8L1.java
SampleD8L1.java:1: 'class' または 'interface' がありません。
javaimport javax.swing.*;
^
SampleD8L1.java:2: 'class' または 'interface' がありません。
import java.awt.*;
^
SampleD8L1.java:3: 'class' または 'interface' がありません。
import java.awt.event.*;
^
SampleD8L1.java:69: <identifier> がありません。
frame.setSize(250,100);
^
SampleD8L1.java:70: <identifier> がありません。
frame.setVisible(true);
^
SampleD8L1.java:74: 'class' または 'interface' がありません。
public static void main(String args[]){
^
SampleD8L1.java:77: 'class' または 'interface' がありません。
}
^
SampleD8L1.java:77: 'class' または 'interface' がありません。
}
^
エラー 8 個

ごめんなさい、お手上げです(涙)。

補足日時:2005/11/09 11:23
    • good
    • 0
この回答へのお礼

importの前にjavaがいつの間にか入ってしまったみたい。それをとってもエラーになってしまうのですが・・・

お礼日時:2005/11/09 11:31

アドバイスを2点。



(1) どうしてもエラーメッセージの意味がわからなければ、そのメッセージをそのまま検索にかけると有益な情報が見つかりやすいです。

(2) 掲示板でコンパイルエラーの相談をする際には、ソースも示すほうがよいです。メッセージだけ出されても、直接の原因は第三者にはわかりません。

参考URL:http://members.edogawa.home.ne.jp/jibunnohana/pg …

この回答への補足

amajun様、ご回答ありがとうございます。
ごめんなさい。ソースコードです。
Javaの入門書(丸の内とら 著 翔泳社)を見ながら作成しました。

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class SampleD8L1{
private JFrame frame;
private JPanel panel;
private JLabel label;
private JButton btnA;
private JButton btnB;
private JButton btnC;

public SampleD8L1(){
//フレームを作成してレイアウトをセット
frame = new JFrame("Click Me Buttons!");
frame.setLayout(new BorderLayout());

//パネルを作成してレイアウトをセット
panel = new JPanel();
panel.setLayout(new GridLayout(1,3,5,5));

//表示用ラベルを作成
label = new JLabel("ボタンをクリックしてください",JLabel.CENTER);

//btnAを作成
btnA = new JButton("btnA");

//btnAがクリックされた時のイベントを定義
btnA.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
label.setText("btnAがクリックされました");
}
});

//btnBを作成
btnB = new JButton("btnB");

//btnBがクリックされた時のイベントを定義
btnB.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
label.setText("btnBがクリックされました");
}
});

//btnCを作成
btnC = new JButton("btnC");

//btnCがクリックされた時のイベントを定義
btnC.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
label.setText("btnCがクリックされました");
}
});

//パネルにボタンをセット
panel.add(btnA);
panel.add(btnB);
panel.add(btnC);

//フレームにパネルをセット(BorderLayoutの北側)
frame.add(panel,BorderLayout.NORTH);

//フレームにラベルをセット(BorderLayoutの残りエリア
frame.add(label,BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

//フレームのサイズを定義して表示
frame.setSize(250,100);
frame.setVisible(true);

//mainメソッドの定義
public static void main(String args[]){
SampleD8L1 application = new SampleD8L1();
}
}

コンパイルエラーメッセージです。

C:\Java\Samples\D8>javac -nowarn SampleD8L1.java
SampleD8L1.java:69: <identifier> がありません。
frame.setSize(250,100);
^
SampleD8L1.java:70: <identifier> がありません。
frame.setVisible(true);
^
エラー 2 個

あと、質問の追加になってしまいますが
import java.awt.*;
import java.awt.event.*;
とありますがeventクラスはawtパッケージの下のクラスではない、ということなのでしょうか?

補足日時:2005/11/09 01:38
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!