Java

Applet

Javaアプレットは、Webブラウザ上で実行できるJavaプログラムである。 Appletクラスを継承して作る。Applet (Java Platform SE 6)Eclipseの場合だと、普通にJavaプロジェクトを作成し、MainAppletクラスを追加。Appletクラスを継承し、paintをオーバーライド…

Container.paint

画面の描画処理は、paintメソッドで行う。 これは、Frameクラスの親のWindowクラスの親のContainerクラスのメソッドである。Container (Java Platform SE 6) GUIアプリケーション(AWT その2) AWTとSwingのペイント(paint)の仕組みFrameを継承したクラスMain…

Window.addWindowListener

以前、WindowListenerの回で、ウィンドウの閉じるなどのイベント処理は、WindowListenerオブジェクトをaddWindowListenerでFrameオブジェクトに追加することで実現できた。Window (Java Platform SE 6)FrameはWindowの派生クラスであり、addWindowListenerは…

@SuppressWarnings

@SuppressWarningsは、指定された設定値ごとに、特定の警告を抑制する。@SuppressWarningsとは | ハックノートTestClass.javaは、@Deprecatedの付いたprint。 MainClass.javaは、 // メインクラス public class MainClass{ // MainClassの定義 // Javaのエン…

@Deprecated

@Deprecatedは、このメソッドが非推奨であることを示す。Javaアノテーションメモ(Hishidama's Java annotation Memo)TestClass.javaは、"TestClass print!"と出力。@Deprecatedを付けている。 MainClass.javaは、TestClassオブジェクトtを生成し、t.printで…

@Override

アノテーションはコンパイラに、この部分が何なのかを伝える機能。 @Overrideは、このメソッドがオーバーライドメソッドであることを示す。Javaアノテーションメモ(Hishidama's Java annotation Memo) いまさらJavaのアノテーションを復習する - QiitaBaseCl…

HashMap

HashMapを使うと、キーと値のペアでデータを格納できる。 いわゆる連想配列。HashMap (Java Platform SE 8)非ジェネリクス版で、3つのキーと値のペアを、登録と取り出し。 次に、文字列と整数のジェネリクス版で、3つのペアを登録し、キーすべてを先に取り出…

Matcher

Pattern.matcherで対象文字列を渡して、返ってくるMatcherオブジェクトに一致情報が格納されている。Matcher (Java Platform SE 8)メソッドチェインをやめて、Matcherを出した。 ハイフンやアンダースコアを追加。ハイフンはtrueハイフンはtrue。アンダース…

Pattern

正規表現で、条件に合う文字列かどうかをチェックするには、Patternを使う。Pattern (Java Platform SE 8)HTTPまたはHTTPSのURLかどうかを判定する。buttonが押されて、textFieldが正規表現"http(s)?://([a-zA-Z0-9./])+"という条件に合うならlabelをtrueに…

IDN.toUnicode

Punycodeから日本語に戻すには、IDN.toUnicodeを使う。IDN (Java Platform SE 6)で、こうすると、 日本語.jpという形で元に戻る。Sample/java/IDN/toUnicode/src/IDN at master · bg1bgst333/Sample · GitHub

IDN.toASCII

AndroidのWebViewで日本語ドメインを渡すときはどうしたらいいのか調べていたら、日本語ドメインについて - QiitaURLエンコードではなく、Punycodeというものを使うらしいということがわかった。 IDN.toASCIIでPunycodeに変換する。 Java標準にもあったので…

URLDecoder.decode

URLDecoderはURLデコードをするためのクラス。URLDecoder (Java Platform SE 8)URLデコードするには、URLDecoder.decodeを使う。URLDecoder (Java Platform SE 8)前回のURLエンコード済みテキストを使って、URLデコードすると、 あいうえおと出て、元に戻っ…

URLEncoder.encode

URLEncoderはURLエンコードをするためのクラス。URLEncoder (Java Platform SE 8)encodeメソッドでURLエンコードに変換する。URLEncoder (Java Platform SE 8)UTF-8文字コードでURLエンコードをしてみる。で実行すると、 %E3%81%82%E3%81%84%E3%81%86%E3%81%…

HttpURLConnection

HttpURLConnectionは、HTTP通信を行うためのクラス。 Androidでも以前やったが、もともとはJava標準用意されているもの。HttpURLConnection (Java Platform SE 8)GETで"http://bgstation0.com"にアクセスして、レスポンスを得る。取得したレスポンスを出力す…

URL

URLは、文字通りURLを扱うクラス。URL (Java Platform SE 8)文字列でURLを渡して、ホスト名だけを得るみたいなことをしてみる。こうすると、 bgstation0.comだけ出力される。Sample/java/URL/URL/src/URL at master · bg1bgst333/Sample · GitHub

BufferedReader

BufferedReaderは、文字をバッファリングすることで、文字列として読めるようにする。BufferedReader (Java Platform SE 8)InputStreamReaderをBufferedReaderに渡すことで、行ごとに文字列として読み込める。で、test.txtが、 あいうえお かきくけこ さしす…

InputStreamReader

InputStreamReaderは、バイトストリームから文字ストリームへ変換していく。InputStreamReader (Java Platform SE 8)渡されたバイトストリームを指定の文字コードからUnicodeにデコードした文字ストリームにして返す。 test.txtには、 あいうえおってShift_J…

TextField

TextFieldは、編集可能なテキストコンポーネント。TextField (Java Platform SE 8)Buttonを押したら、Labelのテキストが、TextFieldに入力されているテキストに変わるようにしてみる。で、labelは"label"となっているlabelは"label"となっているが、buttonを…

Label

Labelはテキストの表示専用コンポーネント。Label (Java Platform SE 8)Buttonを押したら、Labelのテキストが変わるようにしてみる。このようにしてみると、ここでbuttonを押すここでbuttonを押すと、"label"が"button Clicked!"に"label"が"button Clicked!…

Date

Dateは日時を扱うクラス。Date (Java Platform SE 8)現在日時を取得してみる。 MainClass.javaで、Dateオブジェクトdateを生成して、System.out.printlnにそのまま渡すと、日時が出力される。 Sun Jun 3 20:48:16 JST 2018このように出力される。Sample/java…

Math.abs

絶対値を計算するには、Mathクラスのabsメソッドを使う。Math (Java Platform SE 8)MainClass.javaで、10と-10の絶対値を求めて出力する。 10 10絶対値はどちらも10。Sample/java/Math/abs/src/Math at master · bg1bgst333/Sample · GitHub

ArrayList

ArrayListは、挿入や削除が可能な配列型のコレクションクラス。ArrayList (Java 2 プラットフォーム SE v1.4.0) ArrayList (Java Platform SE 8)ジェネリクスが無い時代は、Objectで出し入れしていたため、各型にキャストすることが必要だったが、ジェネリク…

Integer

Integerは、整数型intのラッパークラス。 ラッパークラスってよくわからないけど、Integer (Java Platform SE 8) 【Java入門】Integerなどのラッパークラスの使い方(変換/比較/null) | 侍エンジニア塾ブログ | プログラミング入門者向け学習情報サイトインス…

String

Stringは文字列を扱うクラス。String (Java Platform SE 8)MainClass.javaで、Stringオブジェクトstr1は初期化も代入も無いので、このままだとコンパイルエラーというかコンパイルできない。 なのでnullを入れておく。 str2は文字列代入のような初期化。(""…

ActionListener

ActionListenerは、ボタンやタイマーなどのイベントを受け取るインタフェース・・・。ActionListener (Java Platform SE 6)これでボタンが押された時に、ボタンに表示されているラベル名を"button"から"Clicked!"に変える・・・。button.addActionListenerに…

Button

ボタンを配置するにはButtonクラスを使う・・・。Button (Java Platform SE 6)これをフレームに配置していく・・・。ただし、FrameクラスのデフォルトレイアウトはBorderLayoutというもので、このままでは任意の位置とサイズでボタンを配置できない・・・。 …

WindowAdapter

WindowListenerインタフェースを実装したクラスは、WindowListenerに定義されているメソッドをすべて定義しないといけない・・・。 しかし、ウィンドウを閉じる処理だけなら、windowClosingとwindowClosedだけオーバーライドしておけば十分・・・。WindowAda…

WindowListener

WindowListenerは、ウィンドウに関するイベントを受け取るインタフェース・・・。WindowListener (Java Platform SE 6)Frameの項ではウィンドウを閉じることができなかったが、これの派生クラスを作ってFrameオブジェクトに登録することで、閉じてアプリケー…

匿名クラス

メソッド内で一時的に定義されたクラスの中でも、クラス名を持たないものを匿名クラスという・・・。このようなBaseClassを定義しておく・・・。BaseClassオブジェクトインスタンスbaseからmethodBaseClassを呼べば、"methodBaseClass"が出力されるだろう・…

ローカルクラス

クラスのメンバメソッド内で定義された一時的なクラスをローカルクラスという・・・。OuterClassのメンバフィールドouterInt、メンバメソッドmethodOuterClassを用意・・・。methodOuterClass内でローカルフィールドlocalIntと、ローカルクラスLocalClassを…