• 締切済み

Javaに詳しい方ご教授お願いします!

ngsvxの回答

  • ngsvx
  • ベストアンサー率49% (157/315)
回答No.1

関連するQ&A

  • JavaのJFrameについて

    いまJavaでパソコンに表示する時計を作っています。 JFrameを使っているのですが、ダブルバッファリングで描写しながらSwingのJButtonを使いたいのですが、今自分の知ってる方法だとうまく行きません。 ひとつは、 repaint()関数とpaint()関数を使う方法です。 この方法だとダブルバッファリングのままJButtonと同梱させることができるのらしいですが、表示が滑らかじゃありません。自分的にはFPSが60はほしいです。 もう一つの方法は、graphicsクラスを使って描写する方法です。 こちらはFPS的に問題はないのですがJButtonが置けません。 要点をまとめると、 Graphicsによる描写とSwingのJButtonを同時に一つのwindowでつかいたい、 描写速度をFPS 60程度にしたい です。 書き方が雑なので質問の意図が伝わりにくいかと思いますが、回答よろしくお願いします

  • Java 15パズルを作ったのですが・・・

    こんにちは。 趣味でプログラミングをしているものです。 さっそくですが質問させていただきます。 Javaで15パズルを、eclipseをしろうとなりに使って 作ってみたのですが、 以下のURLにソースコードの全文を 載せてありますので、 (判定、完成させたときの何らかのイベントは  まだできたいない途中のものですが・・・) http://www.eonet.ne.jp/~mycabinet よろしければ、500*500のピース用、背景用の jpg画像を用意していただき、 imageという名前のフォルダに格納して 実行して動作を試していただきたいのですが・・・ その上で、いくつか質問させていただきたいのです。 (1) JPanelを継承したクラスにswing のTimerクラスを 持たせ、ピースの移動をアニメーションのように 描画させようとしたのですが、 動くことは動くのですが、 簡単に言えばダブルバッファリングが必要なように 描画されてしまいます。 (2) BlankPieceクラスの描画は スーパークラスの抽象メソッドを オーバーライドして何もしないように すれば、背景の画像が描画される、 と思ったのですが、 グレーの通常のパネルのようなものが 描画されてしまいます。 以上の点をどのように修正すれば よいのでしょうか? また、修正できたとして、 それをアプレットにするには、 どのようにすればよいのでしょうか? ご存知の方よろしければ、教えていただけないでしょうか? よろしくお願いします。

    • ベストアンサー
    • Java
  • Javaアプレットを表示できない

    Windows7にjdk1.8.0_74 と jde1.8.0_74 をインストールしています。Javaアプレットを貼ったHTMLファイルをダブルクリックして、インターネットエクスプローラ(バージョン11)にて表示させようとするのですが、Javaのマークは表示されますが同時に「ブロックされたJavaアプリケーション(Javaセキュリティによってブロックされたアプリケーション)」の警告が表示されてしまい、Javaアプレットを表示させることができません。どのようにすれば、表示させることができるか、教えてください。 トラブルシューティングを参考に下記は実施済みです。 1. インターネットエクスプローラのツール>インターネットオプションで同ダイアログ「詳細設定」タブでセキュリティ項目「マイコンピュータのファイルでのアクティブコンテンツの実行を許可する」にチェックを入れてOKをクリック 2. インターネットエクスプローラのツール>インターネットオプションで同ダイアログ「セキュリティ」タブで「レベルのカスタマイズ」ボタンをクリックして、「Javaアプレットのスクリプト」を「有効にする」のラジオ・ボタンが選択されていることを確認 3. 「Javaコントロールパネル」ウィンドウで、「詳細」タブの「ブラウザのデフォルトのJava」項目は、「Microsoft Internet Explorer」にチェックが付いて灰色になっており新たな設定はできない状態にある。 尚、コマンドプロンプトでAWT、SwingのJavaプログラム/アプリを表示することはできますが、

    • ベストアンサー
    • Java
  • Javaのダブルバッファリングについてお伺いしたいのですが、

    Javaのダブルバッファリングについてお伺いしたいのですが、 Thred.sleep(20) ペイント部 public void paint(Graphics g) { g.drawImage(wbuffer, int x, int y, this); } アップデートメソッド public void update(Graphics g) { paint(g); } 他のクラスからもこのwbufferの中にいったん書き込むようにしています。 チラつきが出る要因として考えられるのはどんなことがあるのでしょうか? ・オブジェクトの数が多い というのが原因でしょうか。 だいたい5秒おきくらいにチラつきが生じます。

    • ベストアンサー
    • Java
  • ant実行時のエラー対処の手順のアドバイス求。

    ant実行時のエラー対処の手順・方針についてアドバイスお願いします。 下記エラーに対して私は (1)cvc3以下のファイル破損がないか、再度ファイルを更新する→意味無し (2)とにかく検索しまくる→適切な回答が見当たらない (2)configureファイルとcvc以下を見る→既製品かつ読めるほどの自信はないですが・・ といった状況です。 自分の考えとしては、 configureファイルを見つけられないといいつつ、きちんとcvc3フォルダ下にあります。 readmeよりJAVAHOMEはC:\Program Files\Java\jdk1.9.0として設定しており、他に不足しているものはないですし。 これはcvc3フォルダにおpathを設定しなければならないとかそういう話でしょうか.... 再度原因を探して取り組んでみます [質問] 1.皆様ならどのようなエラー解決の調査をされますか? 2. > at java.lang.ProcessBuilder.start(ProcessBuilder.java:1051) はどのように読み取ったら宜しいでしょうか? エラーの起きたプロセス名と詳細(ファイル名:ファイルの行数)で宜しいですか? [詳細] エラー詳細:https://www.dropbox.com/s/hifhp8xyb8kwn2c/ant1.txt?dl=0 ant対象ツール:https://www.dropbox.com/sh/q81yh6dflwqobf2/AABcPeiu-whEybb6PHmhSmCSa?dl=0 [コマンドと結果(一部抜粋)] C:\Users\mar\Dropbox\js-symbolic-executor\js-symbolic-executor>ant > ant1.txt BUILD FAILED C:\Users\mar\Dropbox\js-symbolic-executor\js-symbolic-executor\build.xml:105: Execute failed: ava.io.IOException: Cannot run program ".\configure" (in directory "C:\Users\mar\Dropbox\js-s bolic-executor\cvc3"): CreateProcess error=2, 指定されたファイルが見つかりません。 at java.lang.ProcessBuilder.start(ProcessBuilder.java:1051) at java.lang.Runtime.exec(Runtime.java:620) at org.apache.tools.ant.taskdefs.launcher.Java13CommandLauncher.exec(Java13CommandLau her.java:58) at org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:428) at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:442) at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:628) at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:669) at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:495) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292) at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 以下、省略します。

    • ベストアンサー
    • Java
  • Javaアプレットで描画の中断がしたい

    Java初心者です。学校の課題で数学シュミレーションの結果を Javaアプレットで表示するプログラムを作成しています。 この課題のJavaアプレットでは 複素平面のシュミレーション(計算結果を色のグラデーションで表示する)なのですが、 チョイスやボタン、マウスクリックなどによって、 初期条件や、描画方式、表示範囲などを指定することができます。 とりあえず、シュミレーション結果の描画は 試行錯誤の結果表示ができるようになりました。 paint(Graphics g)メソッドで数値計算、及び描画をしています。 (ちなみに余談かもしれませんがダブルバッファリングをしていて、 描画内容をImageとして書き込んでおいて描画するというかたちです。) 「計算途中(計算には結構時間がかかる)に 新たにボタンなどで指定条件が変更された場合、 現在の描画を中断して次の計算と描画を開始できるように プログラムを改良しなさい」というのが今回の課題です。 つまり、「プログラム的にはpaintメソッドが実行されている途中に 特定のイベントが発生したらpaintメソッドを中断し、 もういちど呼びなおしなさい」ということかと思われます。 スレッドを作り、そのスレッドを中断するなども考えました。 インターネットで検索もしてみましたが、 なかなか情報を見つけられず困っています。 学生が作るプログラムなのでそんなに難しいことではないのだと思うのですが 解決できませんでした。 どうぞよろしくお願いします。

  • javaについて質問です。

    import javax.swing.*; import java.awt.*; import java.awt.event.*; class MoveField extends JPanel {       private int xc;       private int yc;       int d = 50;       Color c=Color.red;       int pause =1000;       boolean cont=true; thread th;       MoveField(){}       MoveField(int d){this.d=d;}       MoveField(int d,Color c){this(d);this.c=c;}       boolean isHit(int x,int y){             int w=(x-xc)*(x-xy)+(y-yc)*(y-yc);             if(w<=d*d){return true;}       return false; }       void start(){             cont=true; th= new Thread(this);             th.start(); } void stop() {cont=false:} public void run(){ when(cont){ int x=0 int y=0 if(Math.random()<0.5){x=(int)(Math.random()*(getWidth()-d));} if(Math.random()<0.5){y=(int)(Math.random()*(getHeight()=d));} xc=x; xy=y; repaint(); try{Thread.sleep(pause);}catch(Exception e){} } } @Override public void paint(Graphics g){ g.setColor(Color.white); g.fillRect(0,0,getWidth(),getHeight()); gsetColor(c); g.fillOval(xc,yc,d,d); } } class MoveHit extends JFrame impkements ActionListener{ MoveField field; JTextField txt; nt pt=0; MoveHit(){ setDefaultCloseOperation(EXIT_ON_CLOSE); field=new MoveField(); add(field); JPanel p=new JPanel(); p.add(new Jlabel("Point")); txt=new JTextField(20); p.add(txt); add(p.BorderLayout.NORTH); p=new JPanel() JButton b; b=new JBotton("Start");b.addActionListener(this);p.add(b); b=new JBotton("Stop");b.addActionListener(this);p.add(b); add(p, BorderLayout.SOUTH); }   @Override public void actionPerformed(ActionEvent ev){ string cmd=ev.getActionCommand(); if(cmd.epuals("Stop")){ pt=0; txt.setText(""); Field.start(); } elese if(cmd.equals("Stop"))field.stop(); } public void mouseClicked(MouseEvent ev){ int x=ev.getX(); int y=ev.getY(); if(field.isHit(x,y)){ pt++; Toolkit.getDefaultToolkit().beep(); txt.setText(""+pt); } } public void mousePressed(MouseEvent ev){} public void mouseReleased(Mousevent ev){} public void mouseEntered(MouseEvent ev){} public void mouseExited(MouseEvent ev){} public static void main(String [] args){ MoveHit tx=new MOveHit(); tx.setSize(600,500); tx.setVisible(true); } } このプログラムがうまく作動しません。 エラーは 1.MoveHit.java:30: ';' がありません。 void stop() {cont = false:} 2.MoveHit.java:33: ';' がありません。 when(cont){ 3.MoveHit.java:46: 注釈は -source 1.4 でサポートされていません (注釈を使用可能にするには、-source 1.5 を試してください) @Override 4.MoveHit.java:55: '{' がありません。 class MoveHit extends JFrame impkements ActionListener { です。 また、MoveHitクラスがマウスイベントの処理に対応していないらしいので改善したいです。 ほかに修正点があれば教えてほしいです。協力お願いします。

  • 拡張子の読み込み制限を設けたいのですが・・・

    現在Javaのプログラム課題を行っているものです。 前回こちらで質問させていただいたのですが、 解決に至らなかったので再度質問させていただきたいと思います。 前回の質問→ http://okwave.jp/qa4023470.html こちらが修正後のプログラムの一部です。↓ package studyA; import java.util.*; import java.io.FileReader; import java.io.BufferedReader; import java.io.File; import java.io.FileWriter; import java.io.BufferedWriter; import java.io.FileNotFoundException; import java.io.IOException; public class A23_StrArray extends A22_StrArray { /** * テキストファイルの読込み(上書きモード) * @param path ファイルのパス * @exception FileNotFoundException ファイルが見つからなかった場合 * IOException 入出力エラーが発生した場合 */ // 修正として付け加えた部分(開始位置) public class CheckClass check { check = new CheckClass(); check = path; public boolean accept(path) { //拡張子がtxtであるかのの判定を行います。 String ext = getExtension(path); if (ext != null && ext.equals("txt")) { return true; } } } //プログラム修正箇所 (終点) public void readFile(String path) throws Exception { try { //BufferedReader in = new BufferdReader(new FileReader()) FileReader fr = new FileReader(path); //FileReaderのインスタンスを作成 BufferedReader br = new BufferedReader(fr); //BufferedReaderのインスタンスを作成 String line; list.clear(); //リストをクリア while ((line = br.readLine()) != null) //要素がなくなるまで繰り返す { add(line); } System.out.println("ファイルを読み込みしました。"); br.close(); } catch(FileNotFoundException e)//ファイルが見つからなかった時 { System.out.println("ファイルが見つかりません。"); } catch(IOException e)//入出力エラーが発生した場合 { System.out.println("入出力エラーが発生しました。"); } } 現在は、コンパイルエラーでC:\Java>javac A23_StrArray.java A23_StrArray.java:28: '{' がありません。 public class CheckClass check と表示されます。一体どのように修正を加えれば、 txtのみ読み込んで、上書きなどができるプログラムを作ることができるのでしょうか?

    • ベストアンサー
    • Java
  • 急募!! 基礎Javaプログラム

    急募!! 学校の課題をどうやってやればいいかまったくわかりません。 大変失礼なのを承知の上、下記の条件を満たすjavaプログラムを書いてくださる方を探しています。 大変無礼な私をお許しください。 プログラムのコンセプトはファイル名を指定してそのファイルに書いてある複数のメールアドレスを読み取り画面に表示、また指定したアウトプットファイルに書き出すというものです。 このプログラムを書く上でいくつかの条件があります。 1.まずユーザーにインプットファイルを指定させる (この時にユーザーはデフォルトのファイルfileContainingEmails.txtをエンターを押すことで指定できます) 2.アウトプットファイル名を指定させる。 (ユーザーがインプットファイル名を指定した場合はそのファイル名をデフォルトとしてユーザーがインプットファイルでデフォルトを選んだ場合はcopyPasteMyEmails.txt をアウトプットファイルのデフォルトに設定する) 3.アウトプットファイルはプログラム起動ごとに上書きされる。 4.同じ名前のメールアドレスは一度だけ表示する。 (rburns@***.eduとRBurns@***.eduは同じメールアドレスとして認識し片方だけ表示する。 5.読み込んだファイルをセミコロンとスペースで区切り次のメールアドレスを表示する。 6.インプットファイルから読み込んだメールアドレス数と書き込み先フォルダ名を最後に表示する。 7.インプットファイルのメールアドレスの間に2行以上の空行があっても無視する。 8.もしもインプットファイル内にメールアドレスがなかった場合(no e-mail address appears)と表示する。 自分でも今このプログラムを書いてる最中なのですが難航しています まだ授業で基礎しかやっていないのでjavaプログラムの基礎知識で書けるプログラムなはずです。 都合のいい事を言っているのは十分承知の上で皆さんのご協力お願いいたします。

  • cygwin上でantコマンドが途中で止まる

    cygwin上でもantが動かなかった理由を教えて下さい。 ・環境 windows7 ・経緯 windowsコマンドプロンプト上でant実行時に上記のエラーに遭遇 原因としてantコマンドではmakefileの生成などを行うスクリプトファイルをwindows上で動かせないというものでした。 そこでcygwin上で動かしてみたものの全く同様のエラーが発生 ただし、cygwin上でcvc3フォルダまで移動し、 ./configure /usr/bin/make と実行すると動きました。 [コマンドと結果(一部抜粋)] C:\Users\mar\Dropbox\js-symbolic-executor\js-symbolic-executor>ant > ant1.txt BUILD FAILED C:\Users\mar\Dropbox\js-symbolic-executor\js-symbolic-executor\build.xml:105: Execute failed: ava.io.IOException: Cannot run program ".\configure" (in directory "C:\Users\mar\Dropbox\js-s bolic-executor\cvc3"): CreateProcess error=2, 指定されたファイルが見つかりません。 at java.lang.ProcessBuilder.start(ProcessBuilder.java:1051) at java.lang.Runtime.exec(Runtime.java:620) [ant実行対象のbuilt.xml] <target name="configure-cvc3" depends="check-config.status" unless="config.status.present"> <property name="arith" value="gmp"/> <exec dir="../cvc3" executable="./configure"> (←build.xml:105行目の実行できなかった部分です。) <arg value="--enable-java"/> <arg value="--enable-dynamic"/> <arg value="--with-arith=${arith}"/> </exec> </target>