個人財務 Javaでインナークラスを作成する方法 - ダミー

Javaでインナークラスを作成する方法 - ダミー

ビデオ: 業務モデリングとシステム開発(7) ~クラス図とアクティビティ図~ 2025

ビデオ: 業務モデリングとシステム開発(7) ~クラス図とアクティビティ図~ 2025
Anonim

ここに大きなニュースがあります! Javaでは、別のクラスの内部でクラスを定義することができます。ここで、 GameFrame クラスには、 MyActionListener という名前のクラスが含まれています。

import java。 awt。 FlowLayout;

import java。 awt。イベント。 ActionEvent;

import java。 awt。イベント。 ActionListener;

import java。 util。ランダム;

import javax。スイング。 JButton;

<! - 1 - >

import javax。スイング。 JFrame;

import javax。スイング。 JLabel;

import javax。スイング。 JTextField;

クラスGameFrameはJFrameを拡張します。{ private static final long serialVersionUID = 1L;

int randomNumber = new Random()。 nextInt(10)+1;

int numGuesses = 0;

JTextField textField = new JTextField(5);

<! - 2 - >

JButtonボタン=新しいJButton( "推測");

JLabelラベル=新しいJLabel(numGuesses + "推測");

public GameFrame(){

setDefaultCloseOperation(JFrame。EXIT_ON_CLOSE);

setLayout(new FlowLayout());

add(textField);

add(ボタン);

add(ラベル);

ボタンを押します。 addActionListener(

new MyActionListener() );

- >

pack();

setVisible(true);

String textFieldText =

textField

クラスMyActionListenerは、ActionListenerを実装します。 getText();

if(Integer。parseInt(textFieldText)== randomNumber){

ボタン。 setEnabled(false);

textField。 setText(textField。getText()+ "はい!"); textField。 setEnabled(false); } else {

textField。 setText( "");

textField。 requestFocus();

}

numGuesses ++;

文字列guessWord =(numGuesses == 1)? "guess": "推測";

ラベル。 setText(numGuesses + guessWord);

}

}

}

上記の

MyActionListener

クラスは、

内部クラスです。

内部クラスは他のクラスとよく似ています。しかし、内部クラスのコード内では、囲むクラスのフィールドを参照することができます。たとえば、

MyActionListener 内のいくつかのステートメントは、 textField という名前を使用し、 textField は、 GameFrame クラスで定義されています。 上記のコードは、 MyActionListener クラスを1回だけ使用することに注意してください。 (唯一の使用は button。addActionListener ボタンの呼び出しです。)だから、本当に一度だけ使用されるものの名​​前が必要ですか?いいえ、あなたはしません。

ボタンの呼び出しの内側のクラスの定義全体を置き換えることができます。addActionListener これを行うと、匿名の内部クラスが 存在します。 これはどのように動作するかです。 import java。 awt。 FlowLayout; import java。 awt。イベント。 ActionEvent; import java。 awt。イベント。 ActionListener; import java。 util。ランダム; import javax。スイング。 JButton;

import javax。スイング。 JFrame;

import javax。スイング。 JLabel;

import javax。スイング。 JTextField;

クラスGameFrameはJFrameを拡張します。{ private static final long serialVersionUID = 1L;

int randomNumber = new Random()。 nextInt(10)+1;

int numGuesses = 0;

JTextField textField = new JTextField(5);

JButtonボタン=新しいJButton( "推測");

JLabelラベル=新しいJLabel(numGuesses + "推測");

public GameFrame(){

setDefaultCloseOperation(JFrame。EXIT_ON_CLOSE);

setLayout(new FlowLayout());

add(textField);

add(ボタン);

add(ラベル);

ボタンを押します。 addActionListener(

新しいActionListener(){ @Override

public void actionPerformed(ActionEvent e){文字列textFieldText =テキストフィールドgetText();

if(Integer.parseInt(textFieldText)= = false);

ボタンをクリックします。setEnabled(false);

文字列guessWord =(numGuesses == 1)? "guesses": "推測"; setText(numGuesses + guessWord);

} }

);

pack();

setVisible(true);

}

}

内部クラスは、

actionPerformed

メソッドなどのイベントハンドラのようなものに適しています。

匿名の

内部クラスの最も難しいことは、かっこ、中括弧、および字下げを追跡していることです。いくつかの謙虚な助言:内部クラスなしでコードを書くことから始めます。後で、通常のJavaクラスで飽きると、通常のクラスのいくつかを内部クラスに変更して試してください。

Javaでインナークラスを作成する方法 - ダミー

エディタの選択

SketchUpのステータスバー - ダミー

SketchUpのステータスバー - ダミー

SketchUpのステータスバーには、モデリング中に使用するコンテキスト情報が含まれています。モデリングウィンドウの下の狭い情報には、情報の良さが満載されています。コンテキスト固有の指示:ほとんどの場合、ここでは何をしているのかを確認するためにここでチェックします。モディファイアキー(組み合わせて使用​​するキーボードストローク)

スケッチツールにインテリジェントに反応するよう設計されたダミー

スケッチツールにインテリジェントに反応するよう設計されたダミー

ダイナミックコンポーネント(DC) SketchUpが提供する真の魔法に最も近いもの。あなたがそれらを拡大縮小するときに、伸ばしたり歪んだりするのではなく、寸法を変更するはずの部品は、他の部分はしません。

SketchUpの投影テクスチャ曲線にテクスチャを追加する方法 - 複雑な曲線に画像を描くためのダミー

SketchUpの投影テクスチャ曲線にテクスチャを追加する方法 - 複雑な曲線に画像を描くためのダミー

SketchUpのサーフェスには、このメソッドの代わりはありません。地形の塊は、複雑な曲面の良い例です - 凹凸、ねじれ、波紋、多方向。扱っているカーブが単純な押し出しよりも複雑な場合は、この画像マッピングテクニックを使用する必要があります。キー...

エディタの選択

QuickBooks 2013のアイテムリストにSales Tax ItemまたはGroupを追加する方法 - ダミー

QuickBooks 2013のアイテムリストにSales Tax ItemまたはGroupを追加する方法 - ダミー

販売税の対象となる商品を販売する場合、QuickBooks 2013請求書には、これらの売上税を請求して追跡する広告申込情報も含まれます。これを行うには、売上税明細を登録します。販売税項目を登録するには、新規項目ウィンドウを表示し、タイプ...から販売税項目を選択します。

QuickBooks 2012のアイテムリストにサービスアイテムを追加する方法 - ダミー

QuickBooks 2012のアイテムリストにサービスアイテムを追加する方法 - ダミー

QuickBooks 2012でサービスアイテムを使用して、サービスを表すアイテムを購入または請求します。たとえば、CPAは、個人や企業に対して納税申告書を作成します。納税申告書を準備するためにクライアントに請求する場合、納税申告書の請求書に表示される明細はサービス項目です。 ...

QuickBooks 2013のアイテムリストにサービスアイテムを追加する方法 - ダミー

QuickBooks 2013のアイテムリストにサービスアイテムを追加する方法 - ダミー

QuickBooks 2013のサービスアイテムを使用して、サービスを表すアイテムを購入または請求します。たとえば、CPAは、個人や企業に対して納税申告書を作成します。納税申告書を準備するためにクライアントに請求する場合、納税申告書の請求書に表示される明細はサービス項目です。 ...

エディタの選択

WordPressブログのユーザーと著者を管理する方法 - ダミー

WordPressブログのユーザーと著者を管理する方法 - ダミー

WordPressユーザーページには、あなたのブログのすべてのユーザーが表示されます。各ユーザーのユーザー名、名前、電子メールアドレス、ブログの役割、およびブログに投稿された投稿の数が表示されます。フォロワー:このデフォルトロールは、...

WordPress Permalinkをサーバーと連携させる方法 - ダミー

WordPress Permalinkをサーバーと連携させる方法 - ダミー

デフォルト以外のオプションを使用してWordPressサイトのパーマリンクの場合、WordPressは特定のルールまたはディレクティブを.txtファイルに書き込みます。あなたのWebサーバー上のhtaccessファイル。 permalinkによると、htaccessファイルはあなたのWebサーバーと交信して、パーマリンクをどのように提供すべきかを示します。

WordPressブログを修正する方法 - ダミー

WordPressブログを修正する方法 - ダミー

WordPressブログをインストールした後、それがリンクされているウェブサイトに合ったブログ。既存のテーマ(スキン)を変更したり、WordPressをインストールした後に使用できる代替語句を選択することができます。選択したテンプレートがメインWebサイトに似ていることを確認してください。ただし、WordPressは...