約 2,879,107 件
https://w.atwiki.jp/javamock/pages/37.html
テキストエディタ作成 ver1.1 Javaでテキストエディタ作成に挑戦してます。 作成の過程で学べたことをメモしておきます。 作ったファイルを置いておきますが、自己責任でお願いします。 全角文字の入ったパスにjarファイルを置くと動作しません。 ダブルクリックで動作すると思います。 jarファイル ※TextEditor1.0と機能は同じです。 TextEditor1.1.jar ソース テキストエディタソースver1.1 機能 新規 開く 上書き保存 名前を付けて保存 これしかありません。。。 改善点 主にリファクタリングしました Exception→IOExceptionにした 例外の処理はwriteFileメソッド内で行うようにした 定数はConstants.javaに定義した バージョン情報にもニーモニックを追加した 気になる 例外発生時にアラートを表示するようにしたい 名前を付けて保存時に既にあるファイル名に保存する場合もアラートがほしい フィールドのスコープが適正かどうかわからない コメント見づらい? /** * テキストエリアの高さ */ public static final [[int]] TEXT_AREA_HEIGHT = 300; フィールドならこっちのほうが見やすそう /** テキストエリアの高さ */ public static final int TEXT_AREA_HEIGHT = 300; Constantsクラスのラベル・ニーモニック・アクションキーにenumを使ったほうがいい? 文字がみづらい 右端で折り返してほしい 検索機能はつけたい iniファイル使ってみたい iniファイル読み込み実験してみました↓ IniFileTest.java import java.util.Properties; class IniFileTest { public static void main([[String]][] args) { try { Properties properties = new Properties(); properties.load(new java.io.FileInputStream("C \\java\\test.ini")); String textAreaWidth = properties.getProperty("textAreaWidth"); String textAreaHeight = properties.getProperty("textAreaHeight"); String undifinedTitle = properties.getProperty("undifinedTitle"); System.out.println("textAreaWidth\t " + textAreaWidth); System.out.println("textAreaHeight\t " + textAreaHeight); System.out.println("undifinedTitle\t " + undifinedTitle); } catch (java.io.IOException e) { e.printStackTrace(); } } } test.ini textAreaWidth = 300 textAreaHeight = 500 undifinedTitle = title 実行結果 C \java javac IniFileTest.java C \java java IniFileTest textAreaWidth 300 textAreaHeight 500 undifinedTitle title こんな感じで使いたいなぁ。。。 properties.load(new java.io.FileInputStream("test.ini")); で同じフォルダ内においておけばいける。jarファイルにしても大丈夫かなぁ。。。 java.awt.event.KeyEventクラスのフィールドに既にキーの定数があった。。。ニーモニックはの引数はそれを使うらしい。。。 まなんだ 定数 Javadocの@version・・・ん?もしかして使い方違う? importしたクラスライブラリ java.awt.Dimension java.awt.HeadlessException java.awt.event.ActionEvent java.awt.event.ActionListener java.io.File java.io.FileReader java.io.FileWriter java.io.IOException javax.swing.JFileChooser javax.swing.JFrame javax.swing.JMenu javax.swing.JMenuBar javax.swing.JMenuItem javax.swing.JOptionPane javax.swing.JScrollPane javax.swing.JTextArea 前回と同様です。ここら辺のクラスに強くなりたいので、メモしておきます。
https://w.atwiki.jp/ce00582/pages/3654.html
import java.awt.*; import java.awt.event.*; import java.awt.image.*; class game0511 extends Frame implements Runnable,MouseListener{ PixelGrabber pg; Color col; Image img; int w=250; int h=373; int red,green,blue; int pix[]=new int[w*h]; int memor[][]=new int[h][w]; int memog[][]=new int[h][w]; int memob[][]=new int[h][w]; int mx,nx,m,n; int ex,ey; int ex1,ey1,ex2,ey2,ex3,ey3,ex4,ey4; int mode; String s1,s2,s3,s4; game0511(){ addMouseListener(this); s1="img2.jpg"; catchimg(s1); Thread th=new Thread(this); th.start(); } public void run(){ int t; t=1; mode=1; while(t 10){ repaint(); try{ Thread.sleep(2000); }catch(InterruptedException e){} t=t+1; } ex1=ex; ey1=ey; t=1; mode=2; while(t 10){ repaint(); try{ Thread.sleep(2000); }catch(InterruptedException e){} t=t+1; } ex2=ex; ey2=ey; repaint(); mode=3; t=1; while(t 10){ repaint(); try{ Thread.sleep(2000); }catch(InterruptedException e){} t=t+1; } ex3=ex; ey3=ey; repaint(); mode=4; t=1; while(t 10){ repaint(); try{ Thread.sleep(2000); }catch(InterruptedException e){} t=t+1; } ex4=ex; ey4=ey; repaint(); } public static void main(String[] args) { game0511 f = new game0511(); f.setSize(700,700); f.setBackground(Color.blue) ; f.setVisible(true); f.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}}); } public void paint( Graphics g ) { g.setColor(Color.blue); g.fillRect(0,0,700,700); if(mode==1)g.drawString("mode 1",100,600); if(mode==2)g.drawString("mode 2",100,600); if(mode==3)g.drawString("mode 3",100,600); if(mode==4)g.drawString("mode 4",100,600); mx=1; nx=1; for (mx=0;mx h;mx++){ for (nx=0;nx w;nx++){ g.setColor(new Color(memor[mx][nx],memog[mx][nx],memob[mx][nx])); g.fillRect(100+nx,100+mx,1,1); } } g.setColor(Color.red); g.fillRect(ex,ey,5,5); g.setColor(Color.red); if(mode==1)g.drawString("mode 1",100,600); if(mode==2)g.drawString("mode 2",100,600); if(mode==3)g.drawString("mode 3",100,600); if(mode==4)g.drawString("mode 4",100,600); } void catchimg(String s){ img = createImage(w,h); img = Toolkit.getDefaultToolkit().getImage(s); pg = new PixelGrabber(img,0,0,w,h,pix,0,w); try{pg.grabPixels();}catch(InterruptedException ie){} m=0; n=0; for(int i=0;i w*h;i++){ int p = pix[i]; col=new Color(pix[i]); red=col.getRed(); green=col.getGreen(); blue=col.getBlue(); memor[m][n]=red; memog[m][n]=green; memob[m][n]=blue; n=n+1; if (n==w)m=m+1; if (n==w)n=0; } } public void mouseEntered(MouseEvent e){ } public void mouseExited(MouseEvent e){ } public void mousePressed(MouseEvent e){ } public void mouseReleased(MouseEvent e){ } public void mouseClicked(MouseEvent e){ double mex,mey; mey=e.getY() ; mex=e.getX(); ex=(int)mex; ey=(int)mey; } }
https://w.atwiki.jp/jasagiri/pages/97.html
いろいろライブラリがあって 何をどう使うのがbetterか分からんね。 ロギング slf4j+logback http //d.hatena.ne.jp/yehara/20090227/1235726770 http //www.nurs.or.jp/~sug/soft/log4j/log4jlb.htm
https://w.atwiki.jp/t07540kn/pages/13.html
Javascript学びメモ javascriptの記述方法 1. script type="text/javascript" /script 2. script src="uri" type="text/javascript" /script 3. イベントハンドラ上で利用 ➡ onclick="arelt()"とか? ※ヘッダ内に meta http-equiv="Content-script-type" content="text/javascript" を記述してイベントハンドラでjavascriptを使うことを知らせる必要あり 4. a要素で記述 5. noscript /noscript でサポート外のプラウザ用メッセージを記述できる
https://w.atwiki.jp/ce00582/pages/3249.html
import java.awt.*; import java.awt.event.*; class game0125 extends Frame implements Runnable ,MouseMotionListener{ int px,py; int mode; public static void main(String [] args) { Frame f=new game0125(); f.setTitle("game0125"); f.setSize(700,700); f.setBackground(Color.yellow); f.setVisible(true); } game0125(){ 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; mode=1; px=1; py=1; t=0; while(t 500){ if(mode==1)px=px+1; if(mode==2)px=px-1; repaint(); try{ Thread.sleep(100); }catch(InterruptedException e){} t=t+1; } repaint(); } public void mouseDragged(MouseEvent e) { } public void mouseMoved(MouseEvent e) { int x,y; int h; y=e.getY() ; x=e.getX(); mode=3; h=0; if(x 350)h=h+1; if(y 500)h=h+1; if(h==2)mode=1; h=0; if(x 350)h=h+1; if(y 500)h=h+1; if(h==2)mode=2; } public void paint(Graphics g){ g.setColor(Color.red); g.fillRect(0,500,350,200); g.setColor(Color.green); g.fillRect(350,500,350,200); g.setColor(Color.black); g.fillRect(100+50*px,100+50*py,50,50); } }
https://w.atwiki.jp/ce00582/pages/3684.html
import java.awt.*; import java.awt.event.*; import java.awt.image.*; class game0524 extends Frame{ int x0,x1; int y0,y1; int trm,trn; int trlm[][]=new int[501][501]; int trln[][]=new int[501][501]; PixelGrabber pg; Color col; Image img; int w=500; int h=500; int red,green,blue; int pix[]=new int[w*h]; int memor[][]=new int[h][w]; int memog[][]=new int[h][w]; int memob[][]=new int[h][w]; int wclothr[][]=new int[h][w]; int wclothg[][]=new int[h][w]; int wclothb[][]=new int[h][w]; int clothr[][]=new int[h][w]; int clothg[][]=new int[h][w]; int clothb[][]=new int[h][w]; int rgb[][]=new int[h][w]; int j; int mx,nx,m,n; int m1,n1,m2,n2; int ex,ey; int mode; double b1,b2,c1,c2; String s1,s2,s3,s4; game0524(){ s1="fuku.jpg"; catchimg(s1); for (mx=0;mx h;mx++){ for (nx=0;nx w;nx++){ j=0; if(memor[mx][nx] 50)j=j+1; if(memog[mx][nx] 50)j=j+1; if(memob[mx][nx] 50)j=j+1; if(j==3)rgb[mx][nx]=100; } } s2="ron.jpg"; catchimg(s2); for (mx=0;mx h;mx++){ for (nx=0;nx w;nx++){ if(rgb[mx][nx] 50)clothr[mx][nx]=250; if(rgb[mx][nx] 50)clothg[mx][nx]=250; if(rgb[mx][nx] 50)clothb[mx][nx]=250; } } x0=87; x1=186; y0=152; y1=397; for(mx=0;mx 501;mx++){ for(nx=0;nx 501;nx++){ trlocal(mx,nx); trlm[mx][nx]=trm; trln[mx][nx]=trn; } } for(mx=0;mx 500;mx++){ for(nx=0;nx 500;nx++){ trm=trlm[mx][nx]; trn=trln[mx][nx]; wclothr[mx][nx]=clothr[trm][trn]; wclothg[mx][nx]=clothg[trm][trn]; wclothb[mx][nx]=clothb[trm][trn]; } } } public static void main(String[] args) { game0524 f = new game0524(); f.setSize(700,700); f.setBackground(Color.blue) ; f.setVisible(true); f.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}}); } public void paint( Graphics g ) { g.setColor(Color.blue); g.fillRect(0,0,700,700); mx=1; nx=1; for (mx=0;mx h;mx++){ for (nx=0;nx w;nx++){ g.setColor(new Color(memor[mx][nx],memog[mx][nx],memob[mx][nx])); g.fillRect(nx+100,mx+100,1,1); } } } void catchimg(String s){ img = createImage(w,h); img = Toolkit.getDefaultToolkit().getImage(s); pg = new PixelGrabber(img,0,0,w,h,pix,0,w); try{pg.grabPixels();}catch(InterruptedException ie){} m=0; n=0; for(int i=0;i w*h;i++){ int p = pix[i]; col=new Color(pix[i]); red=col.getRed(); green=col.getGreen(); blue=col.getBlue(); memor[m][n]=red; memog[m][n]=green; memob[m][n]=blue; n=n+1; if (n==w)m=m+1; if (n==w)n=0; } } void trlocal(int mx,int nx){ double a0,a1,b0,b1; a1=(double)(x1-x0)/300; a0=x0-a1*100; trn=(int)(a1*nx+a0); if(trn 0)trn=0; if(trn 499)trn=499; b1=(double)(y1-y0)/300; b0=y0-b1*100; trm=(int)(b1*mx+b0); if(trm 0)trm=0; if(trm 499)trm=499; } }
https://w.atwiki.jp/avaclancaffelatte/pages/42.html
[AVAODLseason1] 2012/5/19~2012/5/20開催のAVAODLseason1に関連する 情報のページになります。 参加リーグ: ビギナーリーグHブロック 対戦表: こちら(※でかいので注意!) 作戦まとめ: マップ別配置&決め事
https://w.atwiki.jp/javamock/pages/31.html
Calendar Javaにおいて java.util.Calendarクラスは日付・時刻を扱うクラスです。 Calendarは以下のように抽象クラスとして宣言されています。 public abstract class Calendar extends Object implements Serializable, Cloneable Calendarのコンストラクタは protected Calendar() protected Calendar(TimeZone zone, Locale aLocale) とprotectedで宣言されています。 インスタンスを得るために通常はpublicのコンストラクタを使いますが、 Calendarのコンストラクタはprotectedで宣言されているので、 protectedで宣言されていないgetInstance()などを使いオブジェクトを作る必要があります。 getInstanceはstaticメソッドのため、Calendar.getInstance()のように使用します。 このようなインスタンスを生成するためのメソッドをファクトリメソッドと呼ぶそうです。 Calendar 使用例 1 CalendarSample1.java import java.util.Calendar; class CalendarSample1 { public static void main([[String]][] args) { // デフォルトのタイムゾーンおよびロケールを使用してカレンダを取得します Calendar calendarObject = Calendar.getInstance(); System.out.println(calendarObject); } } 実行結果 C \java javac CalendarSample1.java C \java java CalendarSample1 java.util.GregorianCalendar[time=1236166813703,areFieldsSet=true,areAllFieldsSet =true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Tokyo",offset=324000 00,dstSavings=0,useDaylight=false,transitions=10,lastRule=null],firstDayOfWeek=1 ,minimalDaysInFirstWeek=1,ERA=1,YEAR=2009,MONTH=2,WEEK_OF_YEAR=10,WEEK_OF_MONTH= 1,DAY_OF_MONTH=4,DAY_OF_YEAR=63,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOU R=8,HOUR_OF_DAY=20,MINUTE=40,SECOND=13,MILLISECOND=703,ZONE_OFFSET=32400000,DST_ OFFSET=0] 次にCalendarのフィールドを使います。 Calendar 使用例 2 (フィールド) Calendarには以下のstaticフィールドがあります。※他にもあります YEAR getおよびsetのための、年を示すフィールド値です。 MONTH getおよびsetのための、月を示すフィールド値です。 JANUARY(0), FEBRUARY(1)、MARCH(2)、APRIL(3)、MAY(4)、JUNE(5)、JULY(6)、 AUGUST(7)、SEPTEMBER(8)、OCTOBER(9)、NOVEMBER(10)、DECEMBER(11) DATE getおよびsetのためのフィールド値で、月の日を示します。 HOUR_OF_DAY getおよびsetのためのフィールド値で、時刻を示します。 MINUTE getおよびsetのためのフィールド値で、分を示します。 SECOND getおよびsetのためのフィールド値で、秒を示します。 DAY_OF_WEEK getおよびsetのためのフィールド値で、曜日を示します。 SUNDAY(1)、MONDAY(2)、TUESDAY(3)、WEDNESDAY(4)、THURSDAY(5)、FRIDAY(6)、SATURDAY(7) CalendarSample2.java import java.util.Calendar; class CalendarSample2 { public static void main(String[] args) { Calendar calendarObject = Calendar.getInstance(); [[int]] calendarYear = calendarObject.get(Calendar.YEAR); int calendarMonth = calendarObject.get(Calendar.MONTH) + 1; int calendarDay = calendarObject.get(Calendar.DATE); int calendarHour = calendarObject.get(Calendar.HOUR_OF_DAY); int calendarMinute = calendarObject.get(Calendar.MINUTE); int calendarSecond = calendarObject.get(Calendar.SECOND); int calendarWeek = calendarObject.get(Calendar.DAY_OF_WEEK); System.out.println(calendarYear + "/" + calendarMonth + "/" + calendarDay + "/ " + calendarHour + " " + calendarMinute + " " + calendarSecond + " " + getWeek(calendarWeek)); } // Calendar.DAY_OF_WEEKで得られた値を文字列に変換するメソッドです static String getWeek(int week) { String[] stringWeek = {"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"}; [[return]] stringWeek[week-1]; } } 実行結果 C \java javac CalendarSample2.java C \java java CalendarSample2 2009/3/4/ 21 17 26 WED Calendar 使用例 3 (get setメソッド) Calendarのget、setメソッドには以下のようなものがあるようです。 void set(int year, int month, int date) カレンダフィールド YEAR、MONTH、および DAY_OF_MONTH の値を設定します。 void set(int year, int month, int date, int hourOfDay, int minute) カレンダフィールド YEAR、MONTH、DAY_OF_MONTH、HOUR_OF_DAY、および MINUTE の値を設定します。 void set(int year, int month, int date, int hourOfDay, int minute, int second) フィールド YEAR、MONTH、DAY_OF_MONTH、HOUR、MINUTE、および SECOND の値を設定します。 int get(int field) 指定されたカレンダフィールドの値を返します。 CalendarSample3.java import java.util.Calendar; class CalendarSample3 { public static void main(String[] args) { Calendar calendarObject = Calendar.getInstance(); calendarObject.set(2009,1,2); System.out.println(calendarObject.get(Calendar.YEAR)); System.out.println(calendarObject.get(Calendar.MONTH)); System.out.println(calendarObject.get(Calendar.DATE)); } } 実行結果 C \java javac CalendarSample3.java C \java java CalendarSample3 2009 1 2 Calendar 使用例 4 (addメソッド) add(int field, int amount)はCalendarのフィールドに対して加算(減算)を行うメソッドです。 fieldにはCalendarのフィールドを指定し、amountには加算する数値を指定します。 CalendarSample4.java import java.util.Calendar; class CalendarSample4 { public static void main(String[] args) { Calendar calendarObject = Calendar.getInstance(); printCalendar(calendarObject); calendarObject.add(Calendar.YEAR, 1); printCalendar(calendarObject); calendarObject.add(Calendar.MONTH, 1); printCalendar(calendarObject); calendarObject.add(Calendar.DATE, 1); printCalendar(calendarObject); } // Caldendarオブジェクトの日付を表示するメソッドです static void printCalendar(Calendar calendarObject) { int calendarYear = calendarObject.get(Calendar.YEAR); int calendarMonth = calendarObject.get(Calendar.MONTH) + 1; int calendarDay = calendarObject.get(Calendar.DATE); int calendarHour = calendarObject.get(Calendar.HOUR_OF_DAY); int calendarMinute = calendarObject.get(Calendar.MINUTE); int calendarSecond = calendarObject.get(Calendar.SECOND); int calendarWeek = calendarObject.get(Calendar.DAY_OF_WEEK); System.out.println(calendarYear + "/" + calendarMonth + "/" + calendarDay + "/ " + calendarHour + " " + calendarMinute + " " + calendarSecond + " " + getWeek(calendarWeek)); } // Calendar.DAY_OF_WEEKで得られた値を文字列に変換するメソッドです static String getWeek(int week) { String[] stringWeek = {"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"}; return stringWeek[week-1]; } } 実行結果 C \java javac CalendarSample4.java C \java java CalendarSample4 2009/3/4/ 22 12 38 WED 2010/3/4/ 22 12 38 THU 2010/4/4/ 22 12 38 SUN 2010/4/5/ 22 12 38 MON
https://w.atwiki.jp/cappu/pages/42.html
リンク Google App Engine Google App Engine for Java Eclipse Plugin アップデートサイト http //dl.google.com/eclipse/plugin/3.4 サンプルページを作った http //javaagogo.appspot.com/ SSL対応方法 appengine-web.xmlに以下を追加するだけ ssl-enabled true /ssl-enabled https //javaagogo.appspot.com/
https://w.atwiki.jp/ykdk/pages/19.html
Javaの環境構築 JDKをダウンロード、インストール 環境変数の設定 Pathの編集 CLASSPATHの作成 javac,javaコマンドの確認 c \...jre\bin以下のディレクトリにjavac.exeが存在していない場合、それは、JREをダウンロードしているので、JDKのダウンロードからやり直し。