約 2,878,955 件
https://w.atwiki.jp/zakuaku/pages/2600.html
javascript 「javascript入力プラグイン(javascript, js)」は管理者しか利用出来ません。 しかし、ここにあるURL又はページ名を「他のページを取り込む(include)」を利用すれば使用可能です。 ネタバレ防止 javascript/spoiler
https://w.atwiki.jp/ce00582/pages/3256.html
import java.awt.*; import java.awt.event.*; class game0113 extends Frame implements Runnable ,MouseMotionListener{ int coin; int px,py; int ix,iy; int m,n; int z[][]=new int[11][11]; int mode; public static void main(String [] args) { Frame f=new game0113(); f.setTitle("[[game0113]]"); f.setSize(700,700); f.setBackground(Color.yellow); f.setVisible(true); } game0113(){ addMouseMotionListener(this); Thread th=new Thread(this); th.start(); addWindowListener(new stopwin()); } class stopwin extends WindowAdapter{ public void windowClosing(WindowEvent we){System.exit(0);} } public void run(){ int t ; int ix1,ix2,ix3,ix4; int iy1,iy2,iy3,iy4; int z1,z2,z3,z4; int minz,minx,miny; int j; coin=0; for (m=1;m 11;m++){ for (n=1;n 11;n++){ z[m][n]=1; } } px=1; py=1; ix=10; iy=10; t=1; mode=0; while(mode 100){ ix1=ix+1; iy1=iy; ix2=ix-1; iy2=iy; ix3=ix; iy3=iy+1; ix4=ix; iy4=iy-1; z1=(ix1-px)*(ix1-px)+(iy1-py)*(iy1-py); z2=(ix2-px)*(ix2-px)+(iy2-py)*(iy2-py); z3=(ix3-px)*(ix3-px)+(iy3-py)*(iy3-py); z4=(ix4-px)*(ix4-px)+(iy4-py)*(iy4-py); minz=999; minx=0; miny=0; if (z1 minz)minx=ix1; if (z1 minz)miny=iy1; if (z1 minz)minz=z1; if (z2 minz)minx=ix2; if (z2 minz)miny=iy2; if (z2 minz)minz=z2; if (z3 minz)minx=ix3; if (z3 minz)miny=iy3; if (z3 minz)minz=z3; if (z4 minz)minx=ix4; if (z4 minz)miny=iy4; if (z4 minz)minz=z4; ix=minx; iy=miny; if (coin==1)px=px+1; if (coin==2)px=px-1; if (coin==3)py=py+1; if (coin==4)py=py-1; if (px 1)px=1; if (px 10)px=10; if (py 1)py=1; if (py 10)py=10; j=0; if(px==ix)j=j+1; if(py==iy)j=j+1; if(j==2)mode=300; z[px][py]=0; repaint(); try{ Thread.sleep(1000); }catch(InterruptedException e){} t=t+1; if (t 100)mode=200; } repaint(); } public void mouseDragged(MouseEvent e) { } public void mouseMoved(MouseEvent e) { int x,y; int h; y=e.getY() ; x=e.getX(); coin=0; h=0; if(x 175)h=h+1; if(y 500)h=h+1; if(h==2)coin=1; h=0; if(x 175)h=h+1; if(x 350)h=h+1; if(y 500)h=h+1; if(h==3)coin=2; h=0; if(x 350)h=h+1; if(x 525)h=h+1; if(y 500)h=h+1; if(h==3)coin=3; h=0; if(x 525)h=h+1; if(y 500)h=h+1; if(h==2)coin=4; } public void paint(Graphics g){ if (mode 100){ g.setColor(Color.red); g.fillRect(0,500,175,200); g.setColor(Color.green); g.fillRect(175,500,175,200); g.setColor(Color.red); g.fillRect(350,500,175,200); g.setColor(Color.green); g.fillRect(525,500,175,200); g.fillRect(100+50*px,100+50*py,50,50); g.fillOval(100+50*ix,100+50*iy,30,30); for (m=1;m 11;m++){ for (n=1;n 11;n++){ if (z[m][n]==1)g.fillRect(100+50*m,100+50*n,10,10); } } } if (mode==200){ g.setColor(Color.yellow); g.fillRect(0,0,700,700); g.setColor(Color.black); g.drawString("time over",300,300); } if (mode==300){ g.setColor(Color.yellow); g.fillRect(0,0,700,700); g.setColor(Color.black); g.drawString("game over",300,300); } } }
https://w.atwiki.jp/akinobu1217/pages/26.html
アクセス制御 public protected privateの順で制限範囲が広い。 protectedは自クラスおよびサブクラスからのアクセスを許可する。 クラス内への変数へのアクセス 基本的には、メソッド経由がよい。 また、そのメソッドにValidation機構を入れておくと、不正なデータを防ぐことができてよい。 参考ページ ファイル読み込み
https://w.atwiki.jp/solutionlog/pages/30.html
JSFはWebアプリケーションを作成するためのコンポーネントフレームワーク JSFの構成要素 コンポーネントとコンポーネントの状態管理のためのAPI イベントハンドリング サーバサイドバリデーション データ変換 ページナビゲーション定義 国際化とアクセシビリティ タグライブラリ コンポーネントをWebページに紐づける コンポーネントをサーバサイドのオブジェkとに紐づける JSFはwell-definedなプログラミングモデルと様々なタグライブラリを提供していて、開発が簡単にできる Webページの作成 ページへのコンポーネント追加 ページのコンポーネントをサーバサイドのオブジェクトにバインド コンポーネントが生成したイベントをサーバサイドに紐付 サーバへのリクエストスコープを超えて、アプリケーションの状態を保存・復元できる コンポーネントの再利用と拡張 What Is a JavaServer Faces Application? JSFアプリケーションに含まれるもの コンポーネントが入れ込まれるWebページ コンポーネントをページに埋め込むためのタグ 管理ビーン リソースのインジェクションや、ライフサイクルのコールバック、インターセプタなどをサポートするコンテナ管理のPOJO DD(web.xml) アプリケーション設定ファイル(オプション) faces-config.xmlとか ページ遷移 カスタムコンポーネント設定 カスタムオブジェクト カスタムコンポーネント、バリデータ、コンバータ、リスナー ページ上でカスタムオブジェクトを表現するカスタムタグ クライアントからのリクエストに対して、JSF実装のコンテナでビューの描画、Webページの作成、返却が行われる ページはコンポーネントタグを使ってビルドされる コンポーネントタグはビュー(ページのサーバサイドの表現)にコンポーネントを追加する ページが参照できるオブジェクト イベントリスナ、バリデータ、コンバータ ビーン JavaServer Faces Technology Benets JSFの利点 振る舞いと表現を分離 HTTPリクエストをコンポーネントのイベントハンドリングに紐づける コンポーネントはステートフルオブジェクトとして扱われる 従来はクライアント側で分離が行われていた ページ作成者はスクリプトとか書かなくてもJSFタグを書くだけでいい 特定のマークアップやスクリプト技術に限られない さまざまなプレゼンテーション技術、クライアントに対しても使える Facelets を使うことでさらなる利点 テンプレートやコンポーネントのコンポジットとして、コードを再利用・拡張できる 管理ビーンの自動登録(JSFアノテーション利用)や暗黙的遷移ルールでEODが増大 JSFはコンポーネント状態の管理、コンポーネントのデータ処理、入力のバリデーション、イベントのハンドリングを提供する Creating a Simple JavaServer Faces Application 単純なJSFアプリ作成に必要なタスク 管理ビーンの作成 コンポーネントタグを使ったWebページの作成 FacesServletインスタンスのマッピング設定 Developing the Managed Bean 管理ビーンはコンテナ管理されるオブジェクト ページのコンポーネントは管理ビーンと関連付けられる @ManagedBeanで管理ビーンをリソースとしてJSFコンテナに登録する Creating the Web Page 典型的には、WebページはXHTMLで作成 Webページは、管理ビーンをEL式#{...}を用いて参照する Mapping the FacesServlet Instance ライフサイクル 典型的なWebアプリのライフサイクル リクエストハンドリング、パラメータデコード、状態の修正と保存、Webページのレンダリング JSFはライフサイクルのほとんどを扱ってくれる。 必要に応じて、デフォルトの動作を変更できる JSFライフサイクル 実行フェーズ ビューのビルド、復元 リクエストパラメータ値の適用 コンポーネントに対する変換とバリデーション コンポーネントの値で管理ビーンの更新 アプリケーションロジックの実行 レンダーフェーズ
https://w.atwiki.jp/chapati4it/pages/18.html
swing swingとは、Javaでウィンドウアプリケーションを作成するためのライブラリです。 Javaはサーバサイドで使われる事が多いですが、swingを使えばクライアントアプリケーションも作成できます。 swingサンプル 基本 ウィンドウを表示するだけのサンプル JButton ボタンをクリックしたらメッセージを表示するサンプル Swingアプリを実行する 画像表示 画像表示(拡大縮小) ポップアップメニュー メニューを作る ファイル選択ダイアログから画像を選択して表示する コンボボックスを使ってみよう エクスプローラからファイルをドロップ ドロップを受け取るサンプル(文字列、ファイル) JListを表示するだけのサンプル JListにアイコンとテキストを表示する JList複数選択、単一選択サンプル JTableにCsvファイルを読み込んで表示 JTableエクスプローラ風サンプル JSliderサンプル JSliderサンプル ボリューム調整みたいなスライダ JSliderサンプル プログラムから操作する時にイベントを発生させない JSliderサンプル ボリューム調整みたいなスライダのUIクラス Zipファイル解凍サンプル JTableに一覧表示、ダブルクリックで画像を表示 MyJCalendar Swingでカレンダー型日付選択ダイアログのサンプル メニュー、タイトルバー、ステータスバー、ツールバーの表示on/off切り替えサンプル tips ウィンドウサイズをiniファイルに保存、復元 JTreeにディレクトリ構造を表示 JTreeとJListで作るエクスプローラ風のサンプル JTreeノード編集、前後の値をチェックする JTableにボタン表示、ボタン押したら行削除 フローレイアウトで強制改行 MP3プレイヤーサンプル(JLayer) MP3プレイヤーサンプル(JLayer,BasicPlayer) MP3のID3を読むサンプル(Java ID3 Tag Library + 文字化け対応) MP3プレイヤーサンプル(JLayer,BasicPlayer,Java ID3 Tag Library)一通りの機能実装 BasicPlayerサンプル(mp3, 音量調整) BasicPlayerサンプル(mp3, シーク, 時間表示) オリジナルのイベントを作ろう
https://w.atwiki.jp/aosora/pages/16.html
(Windows環境で。) 以下をインストール JSDoc http //jsdoc.sourceforge.net/ javascriptのjavadocみたいの作成ツール。 解凍して、適当な場所に置く。 ActivePerl http //jsdoc.sourceforge.net/ JSDocを動かすときにperlが必要。 PPMも一緒にインストールしてくれる。 Windowsを再起動して、WindowsのPATHに perlが通っていることを確認。 コマンドプロンプトを起動。 JSDocを配置したフォルダに移動し、以下のコマンドを実行。 perl jsdoc.pl test.js もし Can t locate HTML/Template.pm in @INC ...... というメッセージが出てエラーになったら、コマンドプロンプトで ppmを実行する。 C \ ppm PPMのコンソールが起動する。 ツールバーの一番左の「View All Packages」をクリック。 パッケージ一覧の中から「HTML-Template」を選択。 ツールバーの中から「Mark for install」をクリック。 ツールバーの中から「Run marked actions」をクリック。 HTML-Templateがインストールされる。 コンソールを閉じる。 再度実行。 C \home\hoge\JSDoc-1.10.2 perl jsdoc.pl test.js (ログ) Loading sources from test.js Completed generating documentation 完了のログが表示されたら、同じフォルダにjs_docs_outが作成される。 その中のindex.htmlを実行するとjavadocのような画面が表示される。
https://w.atwiki.jp/solutionlog/pages/32.html
色々な種類のコンポーネントとコアタグを使ってページを作成する方法 Setting Up a Page JSFのWebページに含まれるもの JSFタグライブラリの名前空間宣言 HTMLのh headとh body ユーザ入力を表すフォームh form コンポーネントをページに追加するには以下のタグライブラリが必要 JSF標準HTMLタグライブラリ 共通的なHTMLのUIコンポーネント xmlns h="http //java.sun.com/jsf/html" JSFコアタグライブラリ コアとなるアクションを定義 xmlns f="http //java.sun.com/jsf/core" Adding Components to a PageUsing HTMLTags JSF標準HTMLタグライブラリはHTMLのフォームコンポーネントや、基本的なHTML要素を表す column A column in a table commandButton input type=type commandLink a href dataTable table form form graphicImage img inputHidden input type=hidden inputSecret input type=password inputText input type=text inputTextarea textarea message span tag if styles are used messages span tags if styles are used outputFormat Plain text outputLabel label outputLink a outputText Plain text panelGrid table element with tr and td elements panelGroup div or span element selectBooleanCheckbox input type=checkbox selectItem option selectItems option elements selectManyCheckbox input elements of type checkbox selectManyListbox select A list box selectManyMenu select A scrollable combo box selectOneListbox select A list box selectOneMenu select A scrollable combo box selectOneRadio input type=radio CommonComponentTag Attributes 多くのコンポーネントタグに共通する属性 binding ビーンプロパティを識別する id コンポーネントを一意に識別する ほかのコンポーネントやクラスからコンポーネントを参照する際に利用 明示的に指定しない時は、JSFにより自動的に付与される immediate 入力やコマンドのコンポーネントに紐づくイベント、バリデーション、変換がリクエストパラメータ値が適用されたときに実行されるか 入力とコマンドのコンポーネントのimmediate属性値の組み合わせの場合は、コマンドコンポーネントがアクティブになったときの振る舞いに注意する rendered コンポーネントがレンダリングされる条件を指定 rvalue形式に限られる style CSSスタイル指定 styleClass CSSスタイルクラス指定 value 外部のデータソースを指定し、コンポーネント値に紐づける Adding HTML Head and BodyTags h head で head 要素 h body で body 要素 リソースリロケーションを利用するときに有用 Adding a Form Component h form で入力フォームを生成 表示やサブミットのコンポーネントを含む 複数のフォームを含めることも可能だが、サブされたフォームの値だけがリクエストパラメータになる UsingText Components テキストコンポーネントはテキストの参照と編集で使われる 入力コンポーネントタグ h inputHidden hidden変数 h inputSecret パスワード入力フィールド h inputText hidden変数 h inputHidden テキストフィールド h inputHidden テキストエリア 入力コンポーネントタグの属性 converter コンポーネントのローカルデータを変換するコンバータを指定 converterMessage コンバータの処理が失敗したときのメッセージ dir テキストの表示方向 LTR or RTL label エラーメッセージ中でコンポーネントを特定するための名前 lang マークアップ中で使われている言語 required ユーザ入力が必須か requiredMessage requiredエラーのメッセージ validator 管理ビーンのバリデーションメソッド f validatorMessage バリデート失敗時のエラーメッセージ valueChangeListener 値を入力したときの管理ビーンのイベントメソッド 出力コンポーネントタグ h outputFormat ローカライズされたメッセージ h outputLabel 読み取り専用ラベル h outputLink アクションイベントを生成しない a リンク h outputText 一行テキスト 出力コンポーネントタグの属性 converter コンポーネントのローカルデータを変換するコンバータを指定 Rendering aText Field with the h inputText Tag label属性で、エラーメッセージの項目名を指定 value属性で、管理ビーンのプロパティと紐付け required属性がtrueで、入力されなかったらページがリロードされて、エラーメッセージが表示される requiredエラーが起こったときは、ほかのバリデータは実行されない Rendering a Password Field with the h inputSecret Tag input type="password" を出力 redisplay属性をfalseにすることで、クエリ文字列やHTMLのソースに表示されるのを防げる Rendering a Label with the h outputLabel Tag 入力フィールドに対してラベルを付けるときに使う for属性で入力フィールドのid属性を参照 value属性または、h outputText子要素でラベル値を指定する Rendering aHyperlink with the h outputLink Tag アクションイベントなしのハイパーリンクを出力する リンククリック時に処理を行わずに、リンク先をオープンする場合 Displaying a Formatted Message with the h outputFormat Tag MessageFormatのパターンに従って文字列を出力 value属性でメッセージフォーマットを指定 f param子要素でメッセージパラメータを指定 Using CommandComponentTags for Performing Actions and Navigation 実行されると何らかのアクションを行うのでボタンやハイパーリンクのコンポーネントは、コマンドコンポーネントと呼ばれる h commandButtonタグはボタンを出力 h commandLinkタグはハイパーリンクタグを出力 h outputText子タグでリンクのテキストを指定する 使用できる属性 action 遷移先か遷移先を返すMethod Expression actionListener アクションイベントを実行するMethod Expression Adding Graphics and Images with the h graphicImage Tag h graphicImageタグで画像を出力 url属性で画像のパスを指定 /始まりでコンテキストからの相対パス value属性でリソース参照することもできる value="#{resource[images xxx]}" LayingOut Components with the h panelGrid and h panelGroup Tags パネルはコンポーネントセットのレイアウトをするために使う HTMLのテーブルとして出力 h panelGrid テーブルの表示 columns属性:1列より多い場合に列数を指定 子要素をcolumnsの値分だけ行にしていく。 columnClasses, footerClass, headerClass, panelClass, rowClasses headerClass属性あり⇒最初の子要素にヘッダーを持たせる footerClass属性あり⇒最後の子要素にヘッダーを持たせる h panelGroup コンポーネントのセット(ネストされたコンポーネントツリー)をグループ化。 テーブルの行 layout属性 blockなら行を囲むよにdivタグがつく。それ以外はspanタグがつく Displaying Components for Selecting OneValue h selectBooleanCheckbox boolean値を表すチェックボックス h selectOneRadio h selectOneMenu 項目リストの中から1つを選択できるドロップダウン value属性は現在選択されている項目に紐づけられる value値設定なしの場合は、最初の項目が選択 f selectItem , f selectItems 子要素で項目を指定 h selectOneListbox size属性で一度に表示される項目数を指定 Displaying Components for Selecting MultipleValues h selectManyCheckbox value属性値で現在選択されている項目を指定できる layout属性値で表示方向を指定(lineDirection|pageDirection) f selectItem , f selectItems 子要素で項目を指定 h selectManyMenu h selectManyListbox size属性で一度に表示される項目数を指定 Using the f selectItem and f selectItems Tags 選択項目コンポーネントにネストして、選択項目を指定できる f selectItem 1つの選択項目のラベル、値、記述を設定する ページ上で項目リストを定義 ビーンのコードが f selectItems に比べて少ない itemValue属性で選択値、itemLabel属性でラベルを指定 f selectItems 全選択項目のラベル、値、記述を設定する 項目はArray,Map,Collection,POJOのコレクションで指定可能 異なるリストの結合やグルーピングが可能 項目リストは動的に生成できる Using Data-BoundTable Components h dataTable でデータコレクションをHTMLテーブルで表す h column でテーブル中の列を指定 headerClass,footerClassでヘッダとフッタのスタイルを指定できる データレコードをイテレートする(テーブル中の行) 繰り返しがないヘッダやフッタ部分では、 f facet を使う。 f facet の子要素で複数のコンポーネントをまとめるには、 h panelGroup を使う value属性でテーブルとして描画されるデータを指定 ビーンのリスト、配列 ビーン javax.faces.model.DataModel java.sql.ResultSet javax.servlet.jsp.jstl.sql.Result javax.sql.RowSet var属性でイテレーション変数名を指定 first属性で表示開始行番号、rows属性で表示行数を指定 デフォルトでは両方0で、すべての行が表示される captionClass,columnClasses,footerClass,headerClass,rowClasses,styleClass:スタイル指定 行(列)のスタイルを複数指定すると、行(列)番号に応じて順にスタイルが適用される Displaying Error Messages with the h message and h messages Tags 変換、バリデーションが失敗したときのメッセージを設定 コンバータやバリデータをコンポーネントに登録すると、エラーメッセージがコンポーネントにキューイングされる そのメッセージを h message や h messages で表示する h message 特定の入力コンポーネントに対するエラーメッセージを設定 for属性で対象の入力コンポーネントを指定 メッセージ表示位置はタグの位置 style属性でテキストのスタイルを指定 h messages ページ全体のエラーメッセージを表示する layout属性でメッセージの出力形式を指定 list | table Creating Bookmarkable URLs with the h button and h link Tags ナビゲーション結果情報とコンポーネントパラメータからハイパーリンクを生成 パラメータ付きのGETのURL h link , h button outcome属性で参照リソースを指定 f param 子要素でクエリパラメータを指定 UsingViewParameters to Configure Bookmarkable URLs f metadata の子要素として f viewparam でURLのパラメータを設定する コンポーネントのincludeViewParams属性をtrueに設定する パラメータ値の設定順序 Component Navigation-case parameters View parameters Resource RelocationUsing h output Tags JSFがリソース描画するページ上の位置を指定することができる h outputScript スクリプトの描画 target属性なしの場合はタグ位置に描画 h outputStylesheet CSSの描画 name,target属性で描画位置を指定 target属性なしの場合は、 head 内に描画 コンポーネントに@ResourceDependencyアノテーションをつけてコンポーネントに対するリソースを指定できる ページ作成者はリソース位置を知らなくていい Using CoreTags イベントハンドリング f actionListener 親コンポーネントにActionリスナを登録 f phaseListener ページにフェーズリスナを登録 f setPropertyActionListener フォームサブミット時に管理ビーンに値を設定するリスナを登録 f valueChangeListener 親コンポーネントにValueChangeリスナを登録 データ変換 f converter 親コンポーネントに任意のコンバータを登録 f convertDateTime 親コンポーネントにDateTimeConverterを登録 f convertNumber 親コンポーネントにNumberConverterを登録 Facet f facet ネストされたコンポーネントを追加 f metadata 親コンポーネントにfacetを登録 リスト項目 f selectItem リスト中の1項目 f selectItems リスト中の項目セット バリデータ f validateDoubleRange コンポーネントにDoubleRangeValidatorを登録 f selectItems コンポーネントにLengthValidatorを登録 f validateLongRange コンポーネントにLongRangeValidatorを登録 f validator コンポーネントにカスタムバリデータを登録 f validateRegEx コンポーネントにRegExValidatorを登録 f validateBean BeanValidatorにローカル値のバリデーションを委譲 f validateRequired 必須チェック その他 f attribute 親コンポーネントに属性を追加 f loadBundle ResourceBundleを特定 f param MessageFormatにパラメータを代入し、URLにクエリパラメータを追加 f ajax Ajaxのアクションとコンポーネント(グループ)を紐づける f event コンポーネントにComponentSystemEventListenerをインストール
https://w.atwiki.jp/funf/pages/14.html
外部 Xライブラリの説明 JavaScriptをHTMLソースから消す方法 AjaxにはXMLも含まれているそうなんだけど・・・ XMLを使う Ajax 入力フォームのチェック html script type="text/javascript" !-- function check(object){ var flag = 0; //入力みすがあったら1にする if(!(object.number.value.match(/\d+/))){//正規表現がつかえる alert("一個目は数値だけ"); flag = 1 } if(!(object.number.value.lenght 0)){//文字列の長さがゲットできる alert("二個目は何でもいいから文字を入れて"); flag = 1 } if(flag == 1){ alert("入力みすなので、やり直してください"); return false; } return true; } //-- /script body form action="hhh.html" method="post" name="inputForm" input type="text" value="" name="number" input type="text" value="" name="moji" input type="submit" onClick="return check(inputForm);" /form /body /html submitのonClickと、checkのreturn true, return falseが重要 var r = confirm("これでいいですか?"); if(r == false ){//キャンセルだったら return false; } OK、キャンセルダイアログ 処理時間の計測 new Date().getTime() を二箇所で取る
https://w.atwiki.jp/longwoodbow/pages/19.html
利用契約の内容 予約語まとめ 小数型、浮動小数点の性質 特殊な演算子、リテラル エスケープ文字 演算子の優先順位まとめ インクリメント、デクリメントの書く位置による性質 その8のメモ書きイベントリスナー(EventListener)の項までで作ったコードを一まとめに 利用契約の内容 (編集中) 予約語まとめ Java言語仕様では3章にKeywordsという呼び名で紹介されています。 これらは変数などの名前にそのまま使えません。 逆を言えば、演算子などのように名前の途中に含まれていたりしても問題が起きるという事はありません(例、shortcutなど)。 ※Java16言語仕様基準、https //docs.oracle.com/javase/specs/jls/se16/html/index.html 言葉 意味 言葉 意味 言葉 意味 言葉 意味 言葉 意味 abstract 抽象メソッドやクラスに付ける修飾子 continue 繰り返し文で後の文を無視して繰り返し文の最初に戻る for 繰り返し文主に何週するか決まってる時に使う new 配列、オブジェクトをRAMに発生させる演算子 switch 1つの変数の中身に応じて処理をする条件文 assert (勉強中) default switch文のラベルどのcaseラベルにも当てはまらない場合 if 真偽値で処理するかしないかを決める条件文 package パッケージクラスファイルの居場所を定義する synchronized 他のスレッドが処理中にその処理を行わない boolean 真偽値基本型の一つ do 繰り返し文、do-while文の頭末尾のwhile文の条件を無視して一度は内容を実行 goto Javaでは不使用switch文で他のラベルに移動して下記の処理をする private アクセス修飾子それを内包するクラス内でしかアクセスできない this 今定義しているクラスまたはインスタンスそのもの break switch文、繰り返し文の外に出る double 倍精度の浮動小数点型基本型の一つ implements 実装するインターフェースをクラスに継承する場合 protected アクセス修飾子同じパッケージ内及びそれを内包するクラスを継承した子孫がアクセス可能 throw 例外を投げる byte 1バイトの整数型基本型の一つ else if文でfalseが出た場合に実行する文 import パッケージ名やクラス名(static import)を省略できるようにする public アクセス修飾子どのパッケージにあるクラスでもアクセス可能 throws メソッドの、try-catch文で対処しなければならない例外を定義 case switch文のラベル記述されたリテラルと変数の内容が一致する場合 enum 列挙型 instanceof インスタンスがそのクラス、あるいはそれを継承した子孫であればtrueになる演算子 return メソッドから抜け出し、void以外であれば戻り値に変化する transient (勉強中) catch Try文内で例外が発生した場合の対処をする文 extends 継承する int 4バイトの整数型基本型の一つ short 2バイトの整数型基本型の一つ try 例外が発生する恐れがある場所をまとめる文catch文で実際に発生した場合の処理を定義 char 文字型基本型の一つ final 変更不可能にする修飾子変数(フィールド)は値変更不可メソッドはオーバーライド不可クラスは継承不可 interface インターフェース抽象メソッドと定数のみで構成されたクラス static 静的インスタンス化に関係なく存在するフィールド、メソッド、インナークラス void メソッドの戻り値が存在しない事を意味する扱い上は基本型の一つ class クラスプログラムのまとまりの一つ finally Try文で例外発生の有無に関係なく実行する処理を定義する文 long 8バイトの整数型基本型の一つ strictfp (勉強中) volatile (勉強中) const Javaでは不使用定数を定義する修飾子 float 単精度の浮動小数点型基本型の一つ native (勉強中) super 丁度そのクラスが継承したクラス while 繰り返し文真偽値で繰り返すかどうか決める あと、_(アンダースコア)も予約語扱いされています(weapon_idのように"_"単体で使わなければ問題ない)。 小数型、浮動小数点の性質 (編集中) 特殊な演算子、リテラル (編集中) エスケープ文字 (編集中) 演算子の優先順位まとめ インクリメント、デクリメント、真偽値反転 !、キャスト演算子 (など) 算術演算子 +など 関係演算子 ==など 論理演算子 など 代入演算子 =など インクリメント、デクリメントの書く位置による性質 (編集中) その8のメモ書き イベントリスナー(EventListener)の項までで作ったコードを一まとめに 3つのソースコードを作りましたが、Listener.javaの内容をそのままBase.javaに入れてBase自身をリスナーとして追加し、Runtime.javaのpublic static void main(String[] args)をBase.javaに入れてjava Baseで起動すれば、一つのコードで済みます。 以下はそれらをまとめたコードです。Baseを基準としてコメントに移植要素を書いておきます。 import java.awt.*; import java.awt.event.*;//Listeners.javaで使ったもの public class GUI00 extends Frame implements WindowListener, KeyListener//Listener.javaで実装したインターフェイス { public static void main(String[] args)//Runtime.java要素 { if(args.length 0) { for(String name args) { new Base(name); } } else System.out.println("No Args"); } public Base(String name) { super(name); setSize(400, 300); Listeners l = new Listeners(); addWindowListener(l); addKeyListener(l); setVisible(true); } //以下Listeners.java要素 public void windowClosing(WindowEvent e) { this.dispose();//イベントオブジェクトから呼び出さずとも消せる } public void keyPressed(KeyEvent e) { if(e.getKeyCode() != KeyEvent.VK_ESCAPE) return; this.dispose();//イベントオブジェクトから呼び出したりWindow型にキャストしなくとも消せる } //以下インターフェースを実装するため一応実装したメソッド public void keyReleased(KeyEvent e){} public void keyTyped(KeyEvent e){} public void windowActivated(WindowEvent e){} public void windowClosed(WindowEvent e){} public void windowDeactivated(WindowEvent e){} public void windowDeiconified(WindowEvent e){} public void windowIconified(WindowEvent e){} public void windowOpened(WindowEvent e){} } この辺は本当に人によって好みが分かれると思うので、複数人でやっていく場合、GUIの原理をよく理解して、他人のコードを見てどうやってるか理解できるようにしたい所です。 また、Frameを継承せず変数として扱う事でも初期設定をすることができます。 あと、WindowAdapter他アダプタークラスを継承した匿名クラスを、add〇〇Listenerの引数に直接入れる方法も使ってるので、 特に複数人で作る場合は使う人もいると思いますし、覚えると無駄なメソッド実装が無く便利なので覚えておいて損は無いと思います。 アダプタークラスはava.awt.eventに入ってます。 import java.awt.*; import java.awt.event.*; public class GUI01 { public static void main(String[] args) { if(args.length 0) { for(String name args) { Frame f = new Frame(name);//以下はBaseのコンストラクタでやってた事、匿名クラスがListeners.javaでやってた事 f.setSize(400, 300); f.addWindowListener ( new WindowAdapter()//addWindowListenerの引数の中で匿名クラス作成、WindowListenerを実装したクラスなので多態性で入れられる { public void windowClosing(WindowEvent e){f.dispose();}//WindowAdapterの時点ですべてのメソッドが実装してある(中身はカラ)ので何かをするこれだけでOK } ); f.addKeyListener ( new KeyAdapter() { public void keyPressed(KeyEvent e) { if(e.getKeyCode() != KeyEvent.VK_ESCAPE) return; f.dispose(); } } ); f.setVisible(true); } } else System.out.println("No Args"); } }
https://w.atwiki.jp/programing_wands/pages/20.html
JavaScriptについて JavaScriptとは JavaScriptの書き方