![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
repaint()が実行されません。
もともとあるJEditorPane上に画像表示させるために、他のクラスからrepaint()をよびだしてpaint()を実行させようとしているのですが、実行されません……。
以下にプログラムを表示します。
import java.net.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
import java.io.IOException;
public class Open extends JFrame {
public Open(){
}
public void paint(Graphics g){
System.out.println("paint開始");
Graphics2D g2 = (Graphics2D)g;
BufferedImage readImage = null;
try {
readImage = ImageIO.read(new File("sample.png"));
} catch (Exception e) {
e.printStackTrace();
readImage = null;
}
if (readImage != null){
g2.drawImage(readImage, 0, 0, this);
}
}
public void Fileload(){
System.out.println("再描写");
repaint();
}
}
外部のクラスからFileload()を呼び出して実行すると"再描写"はコマンドプロンプト上に表示されるのですが"paint開始"は表示されません。なのでpaint()の呼び出しができていないのだと思うのですが……。
原因がわかりません……。
javaも質問も初心者なのでわかりづらいところがあるとは思いますが、どうぞよろしくお願いします。
No.1ベストアンサー
- 回答日時:
カンですが、
フレームの描画領域部分が画面上に見えないときなどに
repain()を呼んでも、
再描画処理が「省略」されるのでは?
(見えないなら再描画しても意味ないので)
このへんはOSが勝手にやってるのか
swingフレームワークが勝手にやってるのか
わからないけれど。
一応このプログラムを呼び出すクラスではフレームもパネルも作成して、”Show”ボタンを押すとFileload()を呼び出すように作ったのですが……。
フレームの描画領域部分についてはまったく考えていなかったので、考えてみます!
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- その他(プログラミング・Web制作) pythonのグローバル変数 2 2022/11/25 18:02
- 工学 Pythonの3Dグラフ表示に関する質問です。 1 2022/12/06 15:03
- Java javaのクラスの分け方について質問です。 APIの内部用と外部用でクラスを分けたいのですがインター 2 2022/04/26 16:06
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- Java マイクラでPythonのプログラミングができません 3 2023/05/28 07:15
- オープンソース Flaskでサーバー立ち上げに関して 1 2023/08/12 21:02
- その他(プログラミング・Web制作) このプログラミングをどう組みますか? Googlecolabでやってるんですが、出来る方お願いします 1 2022/07/13 10:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
eclipseに記述したjavaファイル...
-
ActionForm form にnullが入っ...
-
Javaを使ってデジタル時計を作...
-
jFrameを使って複数の画面を生...
-
repaint()が実行されません。
-
java通信について
-
JButtonの改行したラベルがリロ...
-
setAttribute(String, int)は適...
-
importするには java.io.*; imp...
-
ダブルクォーテーションのrepla...
-
javaで質問です。 文字列2023/2...
-
JSPやサーブレットでSystem.out...
-
変数を動的に利用するには?
-
C言語のポインターに関する警告
-
パソコンキーボードで時分秒を...
-
ORA-01858: 数値を指定する箇所...
-
System.err. printlnとSystem.o...
-
大量のデータを読み込んで表示...
-
カタカナの小文字を大文字に変...
-
System.out.printlnの出力先
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
eclipseに記述したjavaファイル...
-
<forEach> 内で供給された "ite...
-
「例外 *** は対応する try 文...
-
importするには java.io.*; imp...
-
Javaを使ってデジタル時計を作...
-
setAttribute(String, int)は適...
-
シャットダウンフックが呼ばれない
-
干支の計算で。。。
-
Selenium IDEでexportしたコー...
-
ColabでのPytorchのエラー
-
【JAVAエラー】互換性のない型...
-
文字列を数式に
-
importとextendsの用い方の違い...
-
Java3Dで横置き円筒体の円筒中...
-
HttpClientについて
-
ActionForm form にnullが入っ...
-
java初心者です。座標取得と図...
-
javaで画像を回転縮小
-
(急募)Javaじゃんけんゲームで
-
画面遷移時のデータ遷移について
おすすめ情報