問題タブ [repaint]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - JPanelでのJLabelの再ペイント/更新
実行時に2D配列のJLabelを更新するのに問題があります。
私が取り組んでいるプログラムは、コネクトフォーの変種です。JLabelの2D配列を作成します。これはすべて、デフォルトで空白のスロットの画像を含むImageIconになります。プレーヤー1と2は色を選択し、プレーヤーの順番でクリックしてピースを列にドロップできます(重力によってピースが下に落ちるか、別のピースの上に着地するまで)。
addToColumnメソッドが正常に機能していることを確信しています。私の唯一の問題は、どのJLabelも更新できないように見えることです。これが私が取り組んでいる方法です:
p1、p2、およびcurrentはPlayerオブジェクトです。grid [] []は、0、1、または2に設定された整数の2D配列であり、誰がどのタイルを所有しているかをより簡単に追跡できます。tiles [] []は、JLabelの2D配列です。
最後の2行でtiles[][]のJLabelが変更されているので、明らかに両方は必要ありません。どちらの方法が良いかわかりません...これは私が試したもののほんの一部ですが、役に立ちません。(私のgetColor()メソッドはColorを返し、findColorIcon(Color c)はそのタイルの色で対応するJLabelを返します)。
はい、paintComponentメソッドにも追加しました。
私はしばらくこれに固執していて、私は明白な何かを逃しているように感じます。助言がありますか?
java - ゲーム内のプレイヤーと風景をペイントしますか?
私はJavaの経験を積むために、ちょっとしたゲームを作って遊んでいます。すべての視覚的なものを含むパネルには、タイルベースの風景のグリッドとして2次元配列があり、草、木、水などがあります。適切なタイルに適切な絵を正しく描くためには、多くのifステートメントなどが必要です。見た目が良くなかったので、ウォータータイルのifステートメント(北海岸か海かなど)をすべて独自の方法に移しましたが、試してみるとかなり遅くなっていることに気づきました。キャラクターを動かすために。動くたびに背景を塗り替えるのはばかげていることに気づきました。それはほとんど変わらないからです。では、どうすれば背景をペイントしてそのままにしておくことができますが、それでもキャラクターがパネルを動き回るときに、適度な速度でキャラクターのスプライトを再ペイントできますか?
java - repaint() は、以前に描画されたポイントを消去します
JPanel でユーザーがクリックしたポイントをプロットしようとしています。座標を特定することはできますが、repaint()が呼び出されると以前のポイントが上書きされます。
新しいポイントをクリックすると、以前のポイントと一緒に表示されるようにプログラムを変更する方法を教えてください。クリックされたポイントの値を保存し、新しいポイントがクリックされるたびにそれらすべてを再描画する以外に、これを行う簡単な方法があるかどうかを知る必要があります。コード スニペットを提供していただけると助かります。
java - Java、AWTでは、repaint-methodは無視され、start-methodが優先されるようです。
私はボードゲームのアプレットを作成していますが、ユーザー入力の処理はおおよそ次のようになります。
人間が入力した後、コンピューターは移動を選択し、このメソッドのようにrepaint()とstart()を呼び出します。
ただし、画面はコンピューターが移動した後にのみ更新されるように見えるため、start()が呼び出された後です。start()の前にrepaint()が呼び出されるので、これはどのように発生しますか?
これは、repaint()が新しいスレッドを起動するためである可能性があります(実行しますか?)が、なぜstart()を待機するのでしょうか?
もちろん、必要に応じてさらにコードを提供することもできます。
java - Javaでの描画の問題
私はJavaの初心者で、ペイントアプリケーションを実装する必要があり、最初に立ち往生しています.JFrameに追加したJPanelに線を描くことができましたが、描画された各線は描画全体をリセットします.描画領域には、最後に描画された線のみが残ります。ここに彼のコードがあります:
java - 他のオブジェクトの前に何かを描く/描画する
私は小さなゲームを作っていますが、もう少し助けが必要です。Player1とPlayer2が終了すると、画面全体にオブジェクトや描画の前に白い画面が表示されるようにしたいと思います。現在、これをコードとして使用しています。
私のコンソールは両方とも終了したと言っていますが、白い画面は描画されません。何も見えず、背景やオブジェクトの後ろに描かれているのではないかと疑っています。白い画面(実際には長方形)を(0,0)(それぞれx座標とy座標)に配置し、ウィンドウは800x600(幅x高さ)です。
別のオブジェクトの前に長方形を描画するにはどうすればよいですか、またはこれを行うためのより良い方法はありますか?白い画面の目的は、もう一度やりたいか、次のレベルに進むかを選択できる「エンドゲーム画面」として機能することです。このコードを実行してもエラーはありません。
java - 他のパネルの上にある JPanels は、オブジェクトが相互作用すると消えます。- Javaスイングインターフェース
わかりました、これをできる限り説明したいと思います。
JPanelボードゲームのイメージのアウターJPanel
と、ロケーションメニュー、次のターン、サイコロのボタンなどのインナーがあります。
ボード マーカーをボードの一方の側からもう一方の側に移動させますが、これが起こるとボードの内側の部分が消えます。
revalidate(); repaint();外側と内側のパネル、ボードの画像、ボタンなどのすべてを試してみましたが、まだこの問題に直面しています。
誰かが助けてくれることを願っています。ありがとう。
java - mvcデザインパターンを使用したrepaint()およびpaintComponent()メソッドの呼び出しに関する問題
私は小さなゲームを作成しています。ボタン(上、下、左、右)をクリックして、猫(長方形で表されます)を制御して、マウス(別の長方形で表されます)を追いかけます。Lame私は知っています...とにかく私はmvcデザインパターンを使用していて、2つの長方形が「ペイント」されるパネルのコントローラーのボタンリスナーからrepaintメソッドを呼び出すのに問題があります。彼らは最初はうまくペイントしますが、それ以上はペイントしません。
paintComponent()メソッドを2つの方法で実装しましたが、どちらも機能しませんでした
- JPanelを拡張し、paintComponentビジネスを実行する別のクラスを作成し、ビューにそのクラスの新しいオブジェクトを作成し、それを使用して長方形をペイントします。
- JPanelを作成し、新しいJPanelオブジェクトの括弧内にpaintComponentのものを書き込みます。
コントローラーにコードを実装して2つの方法で再描画しましたが、どちらも機能しませんでした
- paintComponentメソッドを使用するjpanelを返すビューからメソッドを呼び出し、その上でrepaintを呼び出します。
- コントローラでjpanelを作成し、ビューからパネルをそれに割り当ててから、その上でrepaintを呼び出します。
ビューとコントローラーのコード(長いです、申し訳ありません!)は以下のとおりです。これには、2つの方法から前述の問題に取り組むために作業できなかったコメントアウトされたものも含まれています...
/ * * gameView.java * /
パッケージゲーム;
java.awtをインポートします。; java.awt.eventをインポートします。; インポートjavax.swing。*;
パブリッククラスgameViewはJFrameを拡張します{
}
コントローラ
/ * * gameController.java*/パッケージゲーム;
java.awt.eventをインポートします。; javax.swingをインポートします。;
パブリッククラスgameController{
}
c# - ユーザーがログインしていないときにウィンドウを再描画する
C Sharp を使用して Windows マシンにアクティブなユーザーがログオンしていない場合、ウィンドウを再描画することはできますか? また、そのウィンドウはスクリーン キャプチャ プログラムで使用できますか? または、まったく不可能で、ユーザーがマシンにログインする必要があります。
私は以下を利用します:
助けてくれてありがとう
java - アプレットの別のメソッドから再描画を呼び出す方法は?
Java でゲーム (アプレット) を作成しており、2 つのスレッドを実行しています。1 つのスレッドはメイン クラスで実行され、もう 1 つのスレッドは、他のすべてのクラスが読み取るパブリック変数のクラス内のグラフィックス変数に描画する別のクラスです。(メイン クラスはグラフィックス変数を読み取り、それを (画像として) 描画できます。)
他のクラスからメイン アプレットの repaint() メソッドを呼び出せるようにしたいのですが、"Main_applet_class".repaint() メソッドを呼び出すと "You-can 「t-call-this-method-from-a-static-context」エラー。ヘルプ!