- ベストアンサー
paintメソッドについて
electoricGirlの回答
あります。 paintImmediately というメソッドが用意されています。 http://wisdom.sakura.ne.jp/system/java/swing/swing7.html
関連するQ&A
- paint()メソッドが呼ばれない
swingを使って多角形を表示するプログラムを作成しています.polygonクラスを配列に格納して,順番に表示しているのですが,配列中のひとつのpolygonオブジェクトを削除して,再描画を行おうとして,repaint()で一旦画面をクリアして,その後my_paint()で配列中のpolygonを描画させようとしているのですが, ・ repaint(); my_paint(); ・ my_paint()メソッが呼ばれずに画面がクリアされた状態になってしまいます. どなたか,解決方法をご存知でしたら,ヒントでもいただけるとありがたいです.よろしくお願いします.
- ベストアンサー
- Java
- repaintがpaintを実行してくれません。
repaint()をおこなっても、paintが実行される場合とされない場合があります。 なぜですか? repaint()で、paintメソッドに指定した描画を必ず実行させたいのですが、 どうしたら良いのでしょうか?
- ベストアンサー
- Java
- 描画した線や画像などを消す方法。
アプレットを勉強している初心者です。 イベントであるボタンを押すと、ある数字が描画される、というものを作ったのですがそれを消す方法で悩んでいます。白い正方形で塗りつぶすのかな、と思ったのですが、手元の入門書のコードだとpaintメソッドの中で if(flag != 0){g.drawImage(myImg,0,0,this); と書くだけでそれを実装できているみたいなんです。「画像が出るボタン」を押すとフラグを1にしてrepaint()メソッドでpaintメソッドを呼び出して(?repaintメソッドの説明があまりなくてrepaintメソッドの効果がいまいちよく分かりません)画像を描画して、「消すボタン」を押すとフラグを0にしてrepaint()メソッドを実行してpaintメソッドを呼び出して(?)フラグが0なので結果何もしない。という流れです。 私の感覚だと消すボタンを押してもpaintメソッド内で何もしないなら画像が出たまんまなんじゃないか?と思っているのですが、ちゃんと画像は消えます。 (本当はコードを全部載せられれば一番いいのでしょうが、本に掲載されているコードなのでムリだと思うので載せません) どういうことが起こっているのでしょうか?また一度描画されたものを消す方法はどういう方法があるのでしょうか? よろしくお願いします。
- ベストアンサー
- Java
- Applet内のpaintメソッド
Applet内のpaintメソッドで前もって配列に読み込んでおいた画像を 複数枚表示しようと、for文を利用して描画しています。 しかし、paint()が何回も呼ばれ(コンソールにデバック文を表示して確認) 思ったとおりの配列indexになりません。 paintが起動直後に複数回呼ばれるのは仕様でしょうか? よろしくおねがいします。
- 締切済み
- Java
- 勝手にアプレットが停止します
アプレットが動作不良となる時があます。 アプレットの定周期(1秒、2秒など)の 更新描画にて、repaint()メソッドを呼び出していますが、 Javaからupdate()メソッドが呼び出されず、画面の 描画処理が行われていない状態となっていようです。 調べたところ、アプレットのrepaint()メソッド を呼び出すと、Javaからupdate()メソッドが 実行され、paint()メソッドに記述している 各描画処理が行われるはずですが、下記のように 実行されていないようです。 非常に困っていますので、どなたかご教授お願いします。 repaint() ↓ update() ←なぜかJavaから実行要求が来ない ↓ paint()
- ベストアンサー
- Java
- SwingのpaintComponent()メソッドについて
JAVA初心者です、宜しくお願いします。 参考書で、Swingについて以下のようなコメントを見つけました、ただ何故そうなのかの理由を書いていません。 以下の内容はどのような理由からそうなるのでしょうか。 「Swing コンポーネントでは、メソッドpaintは推奨されていません。 paintComponentをプログラムから呼び出してはいけません。描画をしたい場合は、 paintComponent をオーバー ライドしたクラスの repaint() メソッドを呼び出します。 Swing コンポーネント上に描画するには、 描画したいコンポーネントのクラスを継承したクラスで、 メソッド paintComponent(Graphics g) をオーバーライドし、 パラメータで渡された g に対して Graphics クラスのメソッドで描画をします。 オーバーライドした paintComponent の先頭で、このコンポーネントの土台を描画するために、 super.paintComponent(g) を呼び出しておきます。」 宜しくお願いします。
- ベストアンサー
- Java
- public void paint(Graphics g){
public void paint(Graphics g){ g.setColor(new Color(ci, ci, ci)); g.fillRect(0, 0, getWidth(), getHeight()); g.setColor(Color.WHITE); g.drawString("Canvas表示", 20, 20); g.drawImage(image, x1, y1, this); g.drawImage(image1, x2, y2, this); } public void update(Graphics g){ paint(g); } public void run(){ //while(true)で永久ループ //imageの座標を変更する処理 //repaint(); } スレッドを使ってイメージの座標を変更し、イメージが動くプログラムを作りました。 これだと滑らかに動かないからpaintメソッドをもうひとつ作って 処理するpaintと描画するpaintとにわけたらいいと言われました。 ですがやりかたがわからないので教えてください。
- 締切済み
- Java
- paintメソッドでエラー
以下はSwingのフレーム上に画像を表示させようとして書いたものの全文です。実行するとSyntax errorがでますが、これはどうしてでしょうか。 なおべつのプログラムでmainメソッドとpaintメソッドを同じクラスに書いたらうまく表示できました。 アドバイスお願いします。 import java.awt.Graphics; import java.awt.image.BufferedImage; import javax.imageio.ImageIO; import javax.swing.JFrame; public class MyImage3 { public static void main(String[] args) { MyFrame7 frame1=new MyFrame7(); frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame1.pack(); frame1.setBounds(100,100,400,320); frame1.setVisible(true); } } class MyFrame7 extends JFrame{ public MyFrame7(){ public void paint(Graphics g){ //この行でSyntax error発生 BufferedImage bImage1=null; try { bImage1=ImageIO.read(getClass().getResource("k_1pin.gif")); } catch (Exception e) { e.printStackTrace(); } g.drawImage(bImage1,40,40,this); } } }
- ベストアンサー
- Java
- Paint.net でフリー曲線を描きたい
PictBear というフリーのソフトがあるのですが、このソフトの曲線描画の手法が気に入ってます。 ただ、PictBear は開発を終了してまして、多数のレイヤーが使用出来るフリーのソフトとしてはPaint.net しかありません。 PictBear の曲線描画はマウスで次々ポイントを指定していくと、その次々の点を自動的に滑らかな曲線で繋いでくれと言う優れものです。 Paint.net の曲線ツールはめんどくさい。 で、そんな、次々とポイントを指定していくだけで連続曲線を描けるプラグインはないのでしょうか?
- 締切済み
- 画像・動画・音楽編集