komi1341 の回答履歴
- 画面のちらつきの原因が知りたいです
JAVAの初心者です、宜しくお願いします。 下のようなプログラムを書きました。 「public void paint(Graphics g){ ~ repaint();」とすると、画像がちらつきます、しかし、「repaint();」を消すとちらつかなくなります、この原因が分かりません。 一体何故このような現象が起こるのでしょうか、宜しくお願いします。 ========================================================== import java.applet.Applet; import java.awt.Button; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; public class Oval_Rec_1_071128 extends Applet implements MouseListener , ActionListener { int x1 ; int y1 ; int xh = 50 ; int yv = 50 ; Button bt1 ; Button bt2 ; public void actionPerformed(ActionEvent ae){} public void mouseClicked(MouseEvent e){} public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void mouseReleased(MouseEvent e){} public void init() { setBackground(Color.yellow); addMouseListener(this); bt1 = new Button("push"); bt1.setFont(new Font("SansSerif", Font.BOLD, 20)); bt1.setBackground(Color.black); bt1.setForeground(Color.lightGray); add(bt1); bt1.addActionListener(this); bt2 = new Button("change_circle"); add(bt2); bt2.addActionListener(this); } public void mousePressed(MouseEvent e) { x1 = e.getX(); y1 = e.getY(); xh = e.getX(); yv = e.getY(); // repaint(); //comment out } public void paint(Graphics g) { g.setColor(Color.red); g.setFont(new Font("Serif",Font.BOLD,24)); g.drawString("Hello Applet World ! !" , 50 , 50); g.setColor(Color.blue); g.drawLine( 100 , 100 , 500 , 500); g.setColor(Color.cyan); g.fillOval( x1 , y1 , xh , yv); g.setColor(Color.magenta); g.fillRect( xh , yv, x1/10 , y1/10 ); repaint(); } }
- ベストアンサー
- Java
- htgotk_001
- 回答数8
- 簡単なこーどですが、エラーの原因が分かりません
今晩は、JAVAの初心者です、宜しくお願いします。 下のコードでエラーがでます、いくら考えても原因がさっぱり分かりません。 一体何処が悪いのでしょうか、宜しくお願いします。 また、最後の「j.show();」では警告が出ています。 何が原因でしょう?? ============================================================ import java.awt.Graphics; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import javax.swing.JFrame; class JFrame_Ohayou extends JFrame implements WindowListener{ /*********** コンストラクタ ********************/ public JFrame_Ohayou(){ setSize(400,300); setTitle("JFrameのテスト"); addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } }); } /******************* paint ***********************/ public void paint(Graphics g){ super.paint(g); g.drawString("おはよう",20,40); } } /******************* main ***********************/ public class JFrameTest{ public static void main(String[] args){ JFrame_Ohayou j = new JFrame_Ohayou(); j.show(); } } =============================================================
- JAVAのプロフラミングについて
□、○、△のボタンがあり、それぞれのボタンについて 一回押すと、その押したボタンの図形を2個描き、 押すたびに永久的に増えていくというようなプログラム を作りたいのですが、ここからどのようにすればいいのか教えてください。 import java.awt.*; import java.applet.*; import java.awt.event.*; public class kadaiApplet232 extends Applet implements ActionListener { int square = 0; int circle = 0; int triangle = 0; Button squareButton, circleButton,triangleButton; public void init(){ squareButton = new Button("□"); squareButton.addActionListener(this); add(squareButton); circleButton = new Button("○"); circleButton.addActionListener(this); add(circleButton); triangleButton = new Button("△"); triangleButton.addActionListener(this); add(triangleButton); } public void paint(Graphics g){ if(){ g.drawRect(30, 30, square, square); } if(){ g.drawOval(60,30,circle,circle); } if(){ g.drawLine(90+(int)(triangle/2),30,90,30+triangle); g.drawLine(90,30+triangle,90+triangle,30+triangle); g.drawLine(90+triangle,30+triangle,90+(int)(triangle/2),30); } } public void actionPerformed(ActionEvent e){ if ( e.getSource() == squareButton){ square = 30; } else if ( e.getSource() == circleButton){ circle = 30; } else if (e.getSource() == triangleButton){ triangle = 30; } repaint(); } }
- スレッドでの画面表示中に、マウス処理が重くなる
画面クラス(class mytailf extends JFrame)と、ファイル読み込みクラス(class LogFilter extends Thread)があります。どちらも自作のクラスです。 ログファイルを読み込んで、画面に表示しているのですが、画面でのマウス操作が非常に重くなる場合があります。 質問1 画面クラス.ログ表示命令はどちらのスレッドで実行されるのでしょうか?ソースでは以下の部分です。 //ログを表示します。 myScreen.displayLog(strLine); 質問2 なにか改善策がありますでしょうか? なお、動作概要は以下のとおりです。 1.画面クラスを新規作成 2.画面クラスで、ファイル読み込みクラスを作成(引数は画面クラス)、Start()を実行 3.ファイル読み込みクラスで、ファイルから一行読み込み、画面クラス.ログ表示命令(引数は読み込んだ行)を呼び出す //-------------以下ソースの抜粋--------- // //画面制御系 // public class mytailf extends JFrame { //ログの読み込みクラス LogFilter myLogFilter = new LogFilter( this ); //条件に応じて、ログを振り分けます void displayLog(String strLine){ //ログを表示しているMDI子供窓に、ログを表示する処理 } // public static void main(String[] args) { new mytailf("MyTail_F").setVisible(true); } } // //ファイル読み込み系 // public class LogFilter extends Thread{ //ログ読み込み処理本体 public void run(){ while (ファイル読み込み中) { try { //* ファイルから一行読み込みます。 //* ファイルから行が読み込めている間、以下の処理を繰り返します。 while (ファイルから行が読み込めている間) { //ログを表示します。 myScreen.displayLog(strLine); //~他のスレッドに実行権を渡そう~// Thread.yield(); mySleepMs(100); lineCnt++; if(lineCnt >= 30){ mySleep(intWaitSec); lineCnt = 0; } } } catch (IOException e) { showStatus("ファイルの読み込みに失敗しました。"); System.out.println(e); return; } mySleep(intWaitSec); } } //コンストラクタ public LogFilter(mytailf argScreen){ super(); myScreen = argScreen; } //ログファイルを開く public void openLogFile(String strFileName){ //略 } //指定秒数待機 private void mySleep(int argSleepSec){ mySleepMs(argSleepSec * 1000); // X秒間停止 } //ミリ秒待機 private void mySleepMs(int argSleepSec){ try { Thread.sleep(argSleepSec); // Xミリ秒間停止 } catch (InterruptedException e) { System.out.println(e); } } }
- 締切済み
- Java
- osu_neko09
- 回答数1
- 定数につけるべき修飾子は?
定数につけるべき修飾子はなんでしょうか? 経験上「static final」としていることが圧倒的に多いです。 どんなときも必ずそうする意味はあるのでしょうか? 私には、考慮不足でとりあえず「static final」としているだけで 実際には場合によって使い分けたほうがいいのではないだろうかと思っています。 しかしあまりにも「static final」としている数が多いので 何か特別な意味があるのでは無いかと思っています。 例えば ・24時間365日稼動のシステム ・1日1回バッチ処理を行なう ・そのバッチ処理の中だけで使用する定数 こういう場合にはメモリ上の展開を考慮すると 「static final」よりも「final」にした方がいいように思えます。 でもそうせずに「static final」としていることが多いです。 定数の修飾子は、その使われ方・場合によって使い分けるべきでしょうか? それともどんなときも「static final」とすべきでしょうか? どちらであるか(もしくはそれ以外)とその理由を教えてください。 よろしくお願いします。
- JAVAのプロフラミングについて
□、○、△のボタンがあり、それぞれのボタンについて 一回押すと、その押したボタンの図形を2個描き、 押すたびに永久的に増えていくというようなプログラム を作りたいのですが、ここからどのようにすればいいのか教えてください。 import java.awt.*; import java.applet.*; import java.awt.event.*; public class kadaiApplet232 extends Applet implements ActionListener { int square = 0; int circle = 0; int triangle = 0; Button squareButton, circleButton,triangleButton; public void init(){ squareButton = new Button("□"); squareButton.addActionListener(this); add(squareButton); circleButton = new Button("○"); circleButton.addActionListener(this); add(circleButton); triangleButton = new Button("△"); triangleButton.addActionListener(this); add(triangleButton); } public void paint(Graphics g){ if(){ g.drawRect(30, 30, square, square); } if(){ g.drawOval(60,30,circle,circle); } if(){ g.drawLine(90+(int)(triangle/2),30,90,30+triangle); g.drawLine(90,30+triangle,90+triangle,30+triangle); g.drawLine(90+triangle,30+triangle,90+(int)(triangle/2),30); } } public void actionPerformed(ActionEvent e){ if ( e.getSource() == squareButton){ square = 30; } else if ( e.getSource() == circleButton){ circle = 30; } else if (e.getSource() == triangleButton){ triangle = 30; } repaint(); } }
- Javaでの簡単なゲームにつおて
最近少しJavaの勉強を趣味ではじめたのですが… 教科書通りにやるのも面白くなく、物足りなかったので 簡単なものからゲームを作っていきたいと思っています。 しかし、どのようなゲームを作るのがいいのかと考えたのですが それがいまいちわかりませんでした。。。 とりあえずコマンドプロンプトで動くじゃんけんゲームは作ってみたのですが… こんなゲームを作ってみるといいよなどあったらお聞きしたい と思いまして質問した次第です。 Javaのヒントはなくても大丈夫です! こんなゲームはどう?みたいな感じで書き込んでいただけると嬉しいです。
- JAVAのプログラミングについて
色変更というボタンを押すたびに、正方形の中の色が緑から青、青から緑というように繰り返し色が変わるプログラムを作りたいのですが、途中までは、完成できたのですが、ここからどうすればいいかわかりません。教えてください。 import java.awt.*; import java.applet.*; import java.awt.event.*; public class kadai3Applet extends Applet implements ActionListener { int i = 1; Button collor; public void init(){ collor = new Button("色変更"); collor.addActionListener(this); add(collor); } public void paint(Graphics g){ g.setColor(Color.green); g.fillRect(50,50,50,50); } public void actionPerformed(ActionEvent e){ if(e.getSource() == collor){ } repaint(); } }
- JavaでCSVファイルの読み込みについて教えてください
質問失礼します。 現在javaのプログラミングでCSVファイルを扱っています。 もしかすると初歩的な質問かもしれませんが、例えば 1 2 3 4 5 ・・・・ A 23 12 43 21 23 ・・・・ B 45 32 21 23 44 ・・・・ C ・ ・ ・ ・ ・ D ・ ・ ・ ・ ・ 上のようにExcel風にCSVファイルができているとして、例えば2列目B行のデータを読み込みたいといった場合、ピンポイントで指定した値を読み込む方法はあるのでしょうか? よろしくお願いします。
- 締切済み
- Java
- berserk_00
- 回答数1
- オープンアプリでVNGやADVを作りたいのですが
JAVAまったくの初心者です。 対応端末はAU、オープンアプリで、ヴィジュアルノベルやアドベンチャーといった フラグとIF、あとはゲーム画面の構築程度でできる簡単なゲームを製作してみたいと思っています。 それ以外はしようとは思ってないんです。(WEB上でアプリ動かすとか) 自分はRPGツクールとか(Rudyじゃないです)、吉里吉里とか、 ActionScriptとか、なでしことか、言語で書いたりプログラム組んで動かす系の物を 少々触ったことがあるレベルの人間です。 一応、J2MEのMIDP2.0でワイヤレスツールキットで作る。配布にはMINE設定がいる、等はクリアしています。 アプリゲットの講座は読んで、サンプルをまんま動かすのを 実機にダウンロードして動かすまでは出来たんですが…。 それしかできなくて。 なんていうか、「@IT」の「MIDP講座」とか「携帯で始めるJAVA」、「ALLABOUT」のモバイルJAVA等見てはみたんですが、 初心者だからなのか、基本的で一番知りたい何かがさっぱりわからないんです。 使ってるソフトとかすら全部ばらばらで混乱して、わけわかんねー!!状態になっちゃって; とりあえず「クラスごとにソースファイルを作る」というのを知って、アプリゲットのソースが何で分かれてるのかは理解できました… かといって初心者むけJ2SEの講座を見ると、MEとはなんだか全然違うから意味が無いような気がするし…。 携帯つくーる的なADV_SV2?も見てみましたが動かせなかったのと、 インターフェイスとかもやっぱりデザインしたいんでソースが書けるほうが嬉しいです。 まずなにから知るべきか始めるべきかとか、どこかお勧めの講座かなにか、アドバイスいただけませんか? よろしくお願いします。
- VisualBasicとJavaの有用性・将来性の比較
今度、公共職業訓練でプログラマー関連の養成コースを受けようと思っています。 そこで、VB.NETのコースや、Javaのコースなどあるのですが、どちらを選択した方がよろしいのでしょうか。 それぞれの言語の特徴や、オススメポイント、使用されている分野、今後のビジョンなどを知りたいのです。 ちなみに、VB.NETのほうは、3ヶ月コースで、Javaのほうは、6ヶ月コースです。 前者はある程度、ネットワークやデータベース、またASP.NETプログラミングのこともやるようです。 ASP.NETプログラミングとは何でしょうか。VB.NETとどういう関係にあるといいますか。Web関連のことでHTML に割り込んで書き込むようなことですか。 後者は、課程の半分は、基本情報技術者対策のことも学ぶとのことです。 わたしが思うに、VB.NETの方は短期間の設定になっていますし、Javaに比べて、仕様がシンプルと言うか、文法などが簡単なんでしょうか。 学習の入り口が入りやすいというのは、いいことでしょうが、最終的にはJavaのほうが、多機能と言うか、奥が深く、ソフトを開発するときに、きめ細かい指定が行えるなどと言うことがいえますか。 両者を比較した場合、わたしが多少不安なのは、VB.NETは業界の中でまだまだそれほど使われておらず、就職口も少ないのではないかと言う心配です。それとも今後、.NETベースのものは増大してくるのでしょうか。またVBは、組込みや制御ではなく、Web、データベース関係中心で使われているのでしょうか。 ただ、JavaはJavaで、VBのようにコントロールでフォームやボタンなどを簡単に作成する様式ではないでしょうし、その分、 習得が難しく、敷居が高いのではないかと不安でもあります。まあ、一から作り上げていくという楽しみもあるといえますが。 どなたか、御意見頂けましたらありがたいです。
- 配列の要素追加について
配列Aがあり、その配列に別の要素を加えた配列Bを作成するためにはどのようにすればよいのでしょうか? Aをコピーしたものに要素を一つ加えてと考えたのですが。。。 つまり char[] a = {'a', 'b', 'c'}; char ch = 'd'; とあったときに、aにchを加えて char[] b = {'a', 'b', 'c', 'd'}; を作成したいです。 よろしくお願い致します。
- プログラムの変数名にするとどうなりますか
変数になる単語とその英語の直訳です。これらを変数名にしてみてください 宿泊者氏名→Those who stay name TEL→telNo 備考→Remarks 住所→Address 携帯番号→Mobile phone number E-mail→E-mail 部屋No→Room No 人数(大人)→Number of people(Adult) 人数(小人)→Number of people(Child) 人数(幼児)→Number of people(Infant) 基本料金(大人)→Basic charge(Adult) 基本料金(小人)→Basic charge(Child) 基本料金(幼児)→Basic charge(Infant) 入湯税→Bathing tax 宿泊開始日→Staying start date 予約金→Reservation money 消費税あり チェックボックス→Consumption tax 消費税なし チェックボックス→Consumption tax none 清算日の当日処理を表す変数(ラジオボタン) →Processing the day before of liquidation day 清算日の前日処理を表す変数(ラジオボタン) →Processing the day before of liquidation day 清算日の指定日処理を表す変数(ラジオボタン) →Processing on specified day on liquidation day 精算書を作成ボタン→Adjustment book 画面を閉じるボタン→
- URIでローカルのファイルを指定できる?
URIでローカルのファイルを指定したいのですが、出来るでしょうか? OWL-APIというライブラリの下記URLのサンプルで、 URI physicalURI = URI.create("http://www.co-ode.org/ontologies/pizza/2007/02/12/pizza.owl"); とあるところのファイルを指定しているところを、ローカルのファイルを指定したいのですが、どう書けばよいのか分かりません。 よろしくお願いします。 http://owlapi.svn.sourceforge.net/viewvc/owlapi/owl1_1/trunk/examples/src/main/java/org/coode/owlapi/examples/Example1.java?view=markup
- 巡回セールスマン問題
このプログラミングを実際に視覚的(探索している状況など)に表したいんですが、どのようにすべきなのでしょうか? いろいろ参考書を見たのですが、わかりませんでした。 import java.io.*; public class TSP { public static void main(String[] args) { TSP instance = new TSP(); TspPoint[] points = new TspPoint[5]; //コンポーネントの作成 points[0] = new TspPoint("A", 5, 10); points[1] = new TspPoint("B", 4, 2); points[2] = new TspPoint("C", 6, 3); points[3] = new TspPoint("D", 3, 4); points[4] = new TspPoint("E", 2, 7); instance.setPoints(points); instance.traveling(); instance.dispResult(); } private TspPoint[] points; private double min_distance; private int[] min_route; public void setPoints(TspPoint[] points) { this.points = points; } public void traveling() { min_distance = Double.MAX_VALUE; min_route = new int[points.length]; int p1, p2, p3, p4, p5; p1 = 0; for (p2 = 1; p2 < 5; p2++) { for (p3 = 1; p3 < 5; p3++) { for (p4 = 1; p4 < 5; p4++) { for (p5 = 1; p5 < 5; p5++) { if (p1 == p2 || p1 == p3 || p1 == p4 || p1 == p5 || p2 == p3 || p2 == p4 || p2 == p5 || p3 == p4 || p3 == p5 || p4 == p5) { // 重複する地点は対象外 } else { // p1→p2→p3→p4→p5→p1への巡回経路長を求める double distance = 0.0; distance += calcDistance(points[p1], points[p2]); distance += calcDistance(points[p2], points[p3]); distance += calcDistance(points[p3], points[p4]); distance += calcDistance(points[p4], points[p5]); distance += calcDistance(points[p5], points[p1]); if (distance < min_distance) { // 現在のところの最短経路を覚えておく min_route[0] = p1; min_route[1] = p2; min_route[2] = p3; min_route[3] = p4; min_route[4] = p5; // 最短距離を記憶する min_distance = distance; } } } } } } } public void dispResult() { System.out.print("最小の巡回経路は "); for (int i = 0; i < 5; i++) { System.out.print(points[min_route[i]].toString() + " → "); } System.out.println(points[min_route[0]].toString()); System.out.println("巡回経路長は " + min_distance); } public double calcDistance(TspPoint a, TspPoint b) { double temp; temp = (a.getX() - b.getX()) * (a.getX() - b.getX()) + (a.getY() - b.getY()) * (a.getY() - b.getY()); return Math.sqrt(temp); //平方根を返す } } class TspPoint { private String name; private int x; private int y; public TspPoint(String name, int x, int y) { this.name = name; this.x = x; this.y = y; } public String getName() { return name; } public int getX() { return x; } public int getY() { return y; } public String toString() { return name + "(" + x + "," + y + ")"; } }
- 締切済み
- Java
- noname#150230
- 回答数3
- VisualBasicとJavaの有用性・将来性の比較
今度、公共職業訓練でプログラマー関連の養成コースを受けようと思っています。 そこで、VB.NETのコースや、Javaのコースなどあるのですが、どちらを選択した方がよろしいのでしょうか。 それぞれの言語の特徴や、オススメポイント、使用されている分野、今後のビジョンなどを知りたいのです。 ちなみに、VB.NETのほうは、3ヶ月コースで、Javaのほうは、6ヶ月コースです。 前者はある程度、ネットワークやデータベース、またASP.NETプログラミングのこともやるようです。 ASP.NETプログラミングとは何でしょうか。VB.NETとどういう関係にあるといいますか。Web関連のことでHTML に割り込んで書き込むようなことですか。 後者は、課程の半分は、基本情報技術者対策のことも学ぶとのことです。 わたしが思うに、VB.NETの方は短期間の設定になっていますし、Javaに比べて、仕様がシンプルと言うか、文法などが簡単なんでしょうか。 学習の入り口が入りやすいというのは、いいことでしょうが、最終的にはJavaのほうが、多機能と言うか、奥が深く、ソフトを開発するときに、きめ細かい指定が行えるなどと言うことがいえますか。 両者を比較した場合、わたしが多少不安なのは、VB.NETは業界の中でまだまだそれほど使われておらず、就職口も少ないのではないかと言う心配です。それとも今後、.NETベースのものは増大してくるのでしょうか。またVBは、組込みや制御ではなく、Web、データベース関係中心で使われているのでしょうか。 ただ、JavaはJavaで、VBのようにコントロールでフォームやボタンなどを簡単に作成する様式ではないでしょうし、その分、 習得が難しく、敷居が高いのではないかと不安でもあります。まあ、一から作り上げていくという楽しみもあるといえますが。 どなたか、御意見頂けましたらありがたいです。