前提・実現したいこと
描画アプリで背景の色を白にしたいです。
発生している問題・エラーメッセージ
setBackground(new Color(255, 255, 255));
これを入れても背景が真っ黒のままです。
該当のソースコード
java
1 BufferedImage bufimg = null; // バッファ付きイメージ 2 3 // ■ コンストラクタ 4 MyCanvas2(MyClient4 obj){ 5 mode=0; // initial value 6 this.setSize(500,500); // キャンバスのサイズを指定 7 setBackground(new Color(255, 255, 255)); 8 addMouseListener(this); // マウスのボタンクリックなどを監視するよう指定 9 addMouseMotionListener(this); // マウスの動きを監視するよう指定 10 client4 = obj; 11 } 12 13 // ■ メソッド(オーバーライド) 14 // フレームに何らかの更新が行われた時の処理 15 public void update(Graphics g) { 16 paint(g); // 下記の paint を呼び出す 17 } 18 19 // ■ メソッド(オーバーライド) 20 public void paint(Graphics g) { 21 d = getSize(); // キャンバスのサイズを取得 22 if (bufimg == null){ // もし仮の画用紙の実体がまだ存在しなければ 23 bufimg = new BufferedImage(700,700, BufferedImage.TYPE_INT_BGR);// 作成 24 } 25
回答ではないのでこちらで書きますが, いまさらではありますが, 使われている Canvas クラスは AWT のコンポーネントで, Swing ではありません.
Swing と AWT のコンポーネントの混在は 不具合を起こし易く, 原則的に禁止です.
以前のご質問で参考にされたという記事が混在されていましたが, はっきり申し上げて良くないモノを参考にされてしまったということです.
Imageの時はsetBackgroundで背景色を変えられたのですが、 BufferedImageでは変えられないのですか?
書かれているコードでは, setBackground は MyCanvas2 に対して行われており, MyCanvas2 は( BufferedImage では無く) Canvas だったと思いますが.
回答1件
あなたの回答
tips
プレビュー