TopPage > Q&A
class NewClass { // OldClass→NewClassに書き換えた public static void main(String[] args){ OldClass foo = new OldClass(); // ←まだOldClassのまま! } }netprogフォルダに,OldClass.classファイルが残っていると,エラーにならずに修正前(古いクラス)のコードが実行されてしまいます.
IPアドレスを調べる方法のページを参照してください.
コマンドラインに日本語をいれるには,[Alt]キーを押しながら,[半角/全角]キーを押すことで,日本語変換モードになります.
Javaの開発プログラムキット(JDK)はフリーでダウンロードできます.
以下にダウンロード手順を示しますが,あくまで自己責任でやってください.
(1) http://www.oracle.com/technetwork/java/javase/downloads/index.html
で,Java Platform, Standard Edition の欄内の,JDK の付近ににある[Download]ボタンをクリックしてください.
Java SE Development Kit 9 Downloads と書かれたページが開きます.
32bitのPCの場合は,Java SE 8u144 の欄内の JDKをダウンロードしてください.
(2) Java SE Development Kit 9/8u144 の欄内の「Accept License Agreement」の横のチェックボックスをクリックします.
(3) jdk-9_windows-x64_bin.exe (または dk-8u144-windows-i586.exe)をクリックします.
(4) インストールは画面の指示に従ってください.
なお,JDKは190MB〜350MB程度ありますので,ダウンロードする時には注意してください.
また,Javaが実行できない場合はパスの確認を行ってください.パスが通っていないとJavaを実行することは出来ません.
パスの通し方は,以下のサイトで紹介されているので参考にしてください.
JavaDrive PATHの設定:http://www.javadrive.jp/install/jdk/index4.html
演習で使用しているエディタ(サクラエディタ,ノートパッド)は
http://sakura_editor.at.infoseek.co.jp/snapshot.html
http://www.geocities.jp/npp_euc_jp/
にあります.
複数のPC間での通信は,下記の方法でできます.
おそらく,クライアントの受信ループを突然終了させている可能性が高いです.
public class MesgRecvThread extends Thread { : public void run() { : while(true) { String inputLine = br.readLine(); if (inputLine != null) { // ★ : if(cmd.equals("MOVE")){ : :MOVEの処理 : } // 続けてelse if(別の命令)を書いてもよい }else{ // ←このelseは,★のif文に対応している! break; } } socket.close(); }
★印のif文とelse文の対応に注目してください. (つまり,br.readLine()の結果がnullの場合に,whileループをbreakします)
whileループをbreak(終了)すると,socket.close()の行で,サーバとの接続を閉じてしまいます. 一度接続を閉じると,対戦相手との通信ができなくなるほか,サーバ側にもnullメッセージが飛ぶため,サーバの暴走につながるようです.
※コードを読みやすくするために,[Tab]キーを使って,きちんと字下げをすることをお勧めします.
画像を使ったボタンを生成する時は,JButton型を使用していましたが,クリックする必要のない画像の場合はJLabel型を使用します. あとは,setBoundsなどを使用して場所の移動などを行ってください.
以下に使い方の例を示します.
ImageIcon titleImage = new ImageIcon("title.jpg");//タイトル画像 JLabel titleLabel = new JLabel(titleImage);//ラベルを生成 c.add(titleLabel);//ペインに貼り付ける titleLabel.setBounds(0, 0, 200, 100);//(x座標,y座標,xの幅,yの幅)
PhotoshopやIllustratorなどで,オプションを変更して画像を保存した場合,一般的ではない画像ファイルが生成されることがあります.
Webブラウザで表示可能な画像ファイルは,おおむねJavaでも使えますので,一度Webブラウザで確認してみてください.
解決策としては,別のファイル形式(PNGなど)で保存してみてください.
また,最初に作成した画像の下に隠れていて表示されない場合があります(下記参照).
実は,Javaアプリケーションのオブジェクトは描画順によりZ軸(奥行き)値が設定されています.
最初に描画したオブジェクトのZ軸値は0,その後は1ずつ増加します.
Z軸値が大きいオブジェクトほど,奥側に配置されます.Illustratorとは逆ですね.
Z軸値を変更したい場合は,以下のContainerメソッドを参考にしてください.
int cNum = c.getComponentCount(); //コンポーネントの総数を取得する int bIndex = c.getComponentZOrder(theButton); //theButtonのZ軸値を取得する c.setComponentZOrder(theButton, 0); //theButtonを最前面に表示する
これで,大学のデータにアクセスできるはずです.ほしいデータをデスクトップなどにドラッグアンドドロップすれば取得できます.なお,My Documentフォルダはwindowsフォルダの中にあります.