retrun;を取ると動作がおかしくなるんですが
return;にはどういう働きがあるんでしょうか?
お願いします。
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
//<applet code = "a.class" width = "300" height = "300"></applet>
public class a extends Applet implements ActionListener{
Dialog d;
Frame f;
public void init() {
setLayout( new GridLayout( 1, 1 ) );
Button b = ( Button )add( new Button( "frame" ) );
b.addActionListener( this );
}
public void actionPerformed( ActionEvent e ){
if( e.getActionCommand() == "frame" ){
if ( f == null ){
f = new Frame( "Kitty on your lap" );
Button fb = (Button)f.add( new Button( "Kitty " ) );
fb.addActionListener( this );
f.setSize( 200 , 200 );
f.setVisible( true );
}else if( d == null ){
f.dispose();
f = null;
}
return;
}
if( e.getActionCommand() == "OK" ) {
d.dispose();
d = null;
return;
}
d = new Dialog( f, "Kitty", true );
d.setLayout( new GridLayout( 2, 1 ) );
d.setResizable( false );
d.add( new Label( "Kitty on your lap" ) );
Button b = (Button)d.add( new Button( "OK" ) );
b.addActionListener( this );
d.setSize( 400 , 200 );
d.setVisible( true );
}
}
No.2ベストアンサー
- 回答日時:
return;は、現在実行中のメソッドを「そこで」終了させる役割があります。
今回記述されているreturn;は、2箇所ありますが、共にメソッド
public void actionPerformed( ActionEvent e ){
}
の中にあります。この場合、return;を実行すると以下のコマンドを実行せずにメソッドactionPerformed()を終了します。(この場合メソッドはイベントハンドラですが。)
必要な処理が終わったのに、return;を省いてしまうと、余分なことをしてしまうことになります。
早速の回答ありがとうございまあす。
>現在実行中のメソッドを「そこで」終了させる役割があります。
そういうことだったんですね!
どう調べていいのかも見当付かず
困ってました。
ありがとうございます!
No.1
- 回答日時:
> d = new Dialog( f, "Kitty", true );
> d.setLayout( new GridLayout( 2, 1 ) );
> d.setResizable( false );
> d.add( new Label( "Kitty on your lap" ) );
>
> Button b = (Button)d.add( new Button( "OK" ) );
> b.addActionListener( this );
>
> d.setSize( 400 , 200 );
> d.setVisible( true );
この部分が何のアクションに対応しているのか、はっきりさせてください。そうすれば、途中にreturnを書く必要はなくなるでしょう。
早速の回答ありがとうございます
なるほど 提示された部分があるため
return;が必要なんですね。
プログラムは深いです。
どうもです!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ArrayListの使い方について(初...
-
java junit list同士の比較方法
-
4択クイズでのランダム出題の...
-
【Swing】JPanel クラス外から...
-
次のように書いたのですが、ウ...
-
タスクトレイのメニュからウィ...
-
Java配列でNullPointerExceptio...
-
Path型をString型へ変換する(Java)
-
JSPやサーブレットでSystem.out...
-
オブジェクトの中のプロパティ...
-
csvファイルを2次元配列に格納
-
ダブルクォーテーションのrepla...
-
System.err. printlnとSystem.o...
-
[JAVA]try 内の変数を外で!?
-
VBAで配列の計算
-
Visual Basic でのコードをASCI...
-
JAVA 文字色変更
-
C++からC#のdllを参照する際、...
-
ArrayListによる計算表作成
-
この警告はどうすれば?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
java junit list同士の比較方法
-
JPanelの切り替えと再描画
-
JButton-背景の透明化
-
ボタンクリック後パネルを再描...
-
EXECLの行を削除
-
Enterキーでボタンを押すにはど...
-
VB6.0でのTextboxの高さ変更
-
JTableの列ヘッダ
-
JPanelの重ね方/OverlayLayout他
-
JDialogを閉じた時の処理
-
javaで文字数制限するには?
-
JTable の 列幅を個別に設定す...
-
KeyListenerの使い方について
-
最後の行に移動するには?
-
スクロールバーの初期化(Java)
-
4択クイズでのランダム出題の...
-
JFrameとJPanelの最大化について
-
JavaのswingでCardLayoutの画面...
-
【Swing】JPanel クラス外から...
-
AWTのアプレットにおいてのイベ...
おすすめ情報