#navi(Programming_II/12)
#contents
*moodle [#s19fdfa1]
-[[moodle:https://tarkus.eva.ie.u-ryukyu.ac.jp/moo/]]

*robocode大会入賞者説明 [#w8d064c4]
+e12.E125722_3
+e12.E125712_3
+e12.E125743_3
+e12.E125761_3
+e12.E125713_3
+e12.E125734_3
+e12.E125702_3
+e12.E125763_3


//-E115763 比嘉健太(ヒガヤスタカ)
//-E115719 安谷屋誠悟(アダニヤセイゴ)
//-E115727 平山樹(ヒヤラマタツキ)
//-E115707 善岡真寛(ヨシオカマサヒロ)
//-E115725 宮城健治(ミヤギケンジ)
//-E115739 源河博介(ゲンカヒロヨシ)

//*最終課題 
//-締め切り:2月15日正午
//-提出先:moodleおよび,ホームページ
//**最終課題1 
//-本日までのmoodleの課題を全部すますこと
//**最終課題2 
//-C言語とJava言語の違いについて,まとめなさい.(A4 2ページ程度)
//**最終課題3 
//-JavaのグラフィックコンポーネントであるAWTとSwingの違いをまとめなさい.
//**最終課題4 
//-学科の各自ホームページにJavaアプレットを作成しなさい
//--特定の図形を選択し描画できること
//**最終課題5 
//-上記アプレットのソースファイルに説明をコメント行でつけて,提出せよ.
//-学籍番号,氏名をコメント行で追加してあること.
//-説明があるファイルのままコンパイルできること
*ファイル読み込み [#k1f950f8]
pp.222~
ShowFile1.java
#code(Java){{
import java.io.*;

public class ShowFile1 {
    public static void main(String[] args) {
        if (args.length != 1) {
            System.out.println("使用法:java ShowFile1 ファイル");
            System.out.println("例:java ShowFile1 ShowFile1.java");
            System.exit(0);
        }
        String filename = args[0];
        try {
            BufferedReader reader = new BufferedReader(new FileReader(filename));
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
            reader.close();
        } catch (FileNotFoundException e) {
            System.out.println(filename + "が見つかりません。");
        } catch (IOException e) {
            System.out.println(e);
        }
    }
}
}}
*ファイル書き込み [#zeb7071f]
WriteFile1.java
#code(java){{
import java.io.*;

public class WriteFile1 {
    public static void main(String[] args) {
        if (args.length != 1) {
            System.out.println("使用法:java WriteFile1 作成ファイル");
            System.out.println("例:java WriteFile1 output.txt < input.txt");
            System.exit(0);
        }
        String filename = args[0];
        try {
            BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
            PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter(filename)));
            String line;
            while ((line = reader.readLine()) != null) {
                writer.println(line);
            }
            reader.close();
            writer.close();
        } catch (IOException e) {
            System.out.println(e);
        }
    }
}
}}
*Follow up [#g0c49f15]
**Applet [#w311345c]
-Text 上巻p.308 付録B~
HelloApplet.java
#code(Java){{
import java.awt.*;
import java.applet.*;
public class HelloApplet extends Applet{
    public void paint(Graphics g){
        FontMetrics f = g.getFontMetrics();
        int x = 0;
        int y = f.getAscent();
        g.drawString("HelloApplet", x,y);
    }
}
}}

HelloApplet.html
#code(html){{
<html>
  <head>
    <title>                                                                     
      HelloApplet
    </title>
  </head>
  <body>
    <applet code="HelloApplet.class", width = "400", height = "50">
    </applet>
  </body>
</html>
}}

実行例:http://www.eva.ie.u-ryukyu.ac.jp/~koji/java/applet.html
-注(上記リンク動作修正しました.)
--古いバージョンとしてコンパイルするには,バージョンを指定してコンパイルする
 $ javac *.java -target 1.4 -source 1.4

**GUI [#id1dbf21]
-javaには,GUI用のライブラリが用意されています.AWTとSWINGです.
-以下は,SWINGのウィンドウを出すためのJFrameです.~
MyWindow.java
#code(java){{
import java.awt.*;
import javax.swing.*;

public class MyWindow extends JFrame {
    public MyWindow(){
        setSize(300,200);
        setTitle("MyWindow");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
    }
  
    public static void main(String[] args) {
        new MyWindow();
    }
}
}}


-ボタンをつくるJButton~
MyButton.java
#code(java){{
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class MyButton extends JFrame implements ActionListener {
    MyButton() {
        getContentPane().setLayout(new FlowLayout());

        JButton b = new JButton("OK");
        b.addActionListener(this);
        getContentPane().add(b);

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setTitle("MyButton");
        setSize(300, 200);
        setVisible(true);
    }
    public void actionPerformed(ActionEvent e) {
        System.out.println("OK");
    }
    public static void main(String[] args) {
        new MyButton();
    }
}
}}
**Javascript [#e3cdd46d]
-Netscape社の開発したHTML内に埋め込めるオブジェクト指向スクリプト言語
-オブジェクト指向が取り入れられた手続き型言語
-JavaScript を使用により,簡易なテキストベースでダイナミックなページが作成が可能.
-Javaとは直接の互換性はない.
**Ajax (Asynchronous JavaScript and XML) [#h5ca2351]
-Webブラウザに実装されているJavaScriptのHTTP通信機能(XMLHttpRequest)を使って、Webページのリロードを伴わずにサーバとXML形式のデータのやり取りを行なって処理を進めていく対話型Webアプリケーションの実装形態。(IT用語辞典e-Wordsより http://e-words.jp/w/Ajax.html)
-Google AJAX API
--http://code.google.com/intl/ja-JP/apis/ajax/documentation/
**デザインパターン [#y72f0dad]
-[[サルでもわかる 逆引きデザインパターン >http://www.nulab.co.jp/designPatterns/designPatterns1/designPatterns1-1.html]]
-[[Javaプログラマのためのデザインパターン入門>http://objectclub.jp/technicaldoc/pattern/DPforJavaProgrammers/]]
*Others [#da0a9af9]
-Emacsで[[開いている文書の文字コードを変更するには>Emacs/文字コード]]

#navi(Programming_II/12)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS