検索

Javaで再描画する

Aug 30, 2024 pm 03:38 PM
java

Java の repaint メソッドは java.applet.Applet クラスで利用できます。これは、paint メソッドの呼び出しとともに update メソッドを呼び出す必要がある場合に常に使用される最終メソッドです。 update メソッドを呼び出すと、現在のウィンドウがクリアされ、更新が実行され、その後、paint メソッドが呼び出されます。

広告 このカテゴリーの人気コース JAVA マスタリー - スペシャライゼーション | 78 コース シリーズ | 15 回の模擬テスト

構文:

package <packagename>;
// class extending applet
public class <classname> extends Applet{
public method <methodname>(<arguments>){
repaint();             // calling repaint method when required
}
}</arguments></methodname></classname></packagename>

上記の構文は、Java で repaint メソッドがどのように使用されるかを示しています。 repaint メソッドは java.applet.Applet クラスの一部であり、オーバーライドできません。したがって、repaint メソッドは、アプレットまたはそのサブクラスを拡張したクラスから直接呼び出すことができます。

Java での再描画はどのように機能しますか?

repaint メソッドは Applet クラスで使用できる最終メソッドであるため、オーバーライドできません。 repaint メソッドを使用する場合は、アプレット クラスのサブクラスから直接呼び出す必要があります。 repaint メソッドは、アプレットのペイント サイクルの更新を処理します。コンポーネント自体を再描画したい場合は、必ず repaint メソッドを呼び出す必要があります。コンポーネントの外観を変更したが、サイズは何も変更しなかった場合は、repaint メソッドを呼び出して、グラフィカル ユーザー インターフェイス上のコンポーネントの新しい外観を更新できます。 repaintメソッドはアプレットクラスの非同期メソッドです。 repaint メソッドの呼び出しが行われると、少し遅れてコンポーネントの消去と再描画のリクエストが実行されます。

コンポーネントから repaint メソッドが呼び出されるたびに、リクエストがグラフィカル ユーザー インターフェイスに送信され、グラフィカル ユーザー インターフェイスと通信して、将来のインスタンスで何らかのアクションを実行します。 repaint メソッドの背後にある全体的な考え方は、paint () メソッドの直接呼び出しを避けることです。

Java で repaint メソッドを実装する例

次に、repaint メソッドの使用法を示す Java の例をいくつか見ていきます。

例 #1

Java で repaint メソッドがどのように使用されるかを示す例は次のとおりです。

コード:

package com.edubca.repaintdemo;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.applet.Applet;
// class extending applet component and implementing mouse event listener
public class RepaintDemo extends Applet implements MouseListener {
private Vector vector;
public RepaintDemo() {
vector = new Vector();
setBackground(Color.red);
addMouseListener(this);
}
public void paint(Graphics graphics) { // paint method implementation
super.paint(graphics);
graphics.setColor(Color.black);
Enumeration enumeration = vector.elements();
while(enumeration.hasMoreElements()) {
Point p = (Point)(enumeration.nextElement());
graphics.drawRect(p.x-20, p.y-20, 40, 40);
}
}
public void mousePressed(MouseEvent mouseevent) {
vector.add(mouseevent.getPoint());
repaint(); // call repaint() method
}
public void mouseClicked(MouseEvent mouseevent) {}
public void mouseEntered(MouseEvent mouseevent) {}
public void mouseExited(MouseEvent mouseevent) {}
public void mouseReleased(MouseEvent mouseevent) {}
public static void main(String args[]) {
JFrame frame = new JFrame(); // creating a jFrame object
frame.getContentPane().add(new RepaintDemo());      // Adding Window
frame.setTitle("Repaint Method Demo");       // set title of the window
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setSize(375, 250);    // set size of window
frame.setVisible(true);        // set window as visible
}
}

出力:

Javaで再描画する

マウスクリックイベントが実行されると、次の図形が黒色の境界線で表示されます。これは、update メソッドを呼び出してからペイントする repaint メソッドを通じて行われることに注意してください。これにより、クリック イベントが実行された直後に表示される形状を確認できるようになります。

Javaで再描画する

例 #2

repaint メソッドの使用をより明確にするために、別の例を次に示します。

コード:

import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.applet.Applet;
import java.awt.Graphics;
// class extending
public class RepaintDemo extends Applet  {
int test=2;
public void paint(Graphics graphics)
{
super.paint(graphics);
setBackground(Color.cyan);   // set backgroung color of window
graphics.setColor(Color.black);   // set color of Text appearing on window
graphics.drawString("Value of Variable test = "+test, 80, 80);
try
{
Thread.sleep(1000);
}
catch(InterruptedException ex){}
// increasing value of variable by 1 and update its value of GUI
test++;
repaint();
}
}

出力:

Javaで再描画する

上記の例では、アプレットがあり、その中で test という変数が宣言されています。変数 test の値を継続的にインクリメントしており、変数の更新された値がユーザー インターフェイスに確実に表示されるようにしたいと考えています。したがって、paint メソッドの前に update メソッドを確実に呼び出す repaint メソッドを使用しています。上記のプログラムの出力。テストのこのウィンドウ値では、変数は常に増加しており、更新された値が GUI に表示されます。

結論

上記の例は、再描画メソッドとその機能を明確に理解するのに役立ちます。アプレットの更新とペイント サイクルを呼び出す場合は、repaint メソッドを呼び出す必要があります。呼び出した repaint メソッドは、コンポーネントの外観を即座に更新します。

以上がJavaで再描画するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
JVMパフォーマンスと他の言語JVMパフォーマンスと他の言語May 14, 2025 am 12:16 AM

jvm'sperformanceiscompetitivewitherruntimes、sped、safety、andproductivityの提供

Javaプラットフォームの独立性:使用の例Javaプラットフォームの独立性:使用の例May 14, 2025 am 12:14 AM

javaachievesplatformedentenceTheThejavavirtualMachine(JVM)、avainwithcodetorunonanyplatformwithajvm.1)codescompiledintobytecode、notmachine-specificcode.2)

JVMアーキテクチャ:Java Virtual Machineに深く飛び込みますJVMアーキテクチャ:Java Virtual Machineに深く飛び込みますMay 14, 2025 am 12:12 AM

thejvmisanabstractcomputingMachineCrucialForrunningJavaProgramsDuetoitsPlatForm-IndopentInterChitecture.Itincludes:1)ClassLoaderForloadingClasses、2)Runtimedataareaforforforatastorage、3)executionEngineWithinterter、Jitcompiler、およびGarbagecolfecolfecolfececolfecolfer

JVM:JVMはOSに関連していますか?JVM:JVMはOSに関連していますか?May 14, 2025 am 12:11 AM

jvmhasacloserelationshiptheosasittrantesjavabytecodecodecodecodecodecodecodecodecodecodecodecodecodetructions、manageSmemory、およびhandlesgarbagecollection.thisrelationshipallowsjavatorunonvariousosenvirnments、Butalsedentsはspeedifediferentjvmbeviorhiorsandosendisfredediferentjvmbehbehioorysando

Java:一度書く、どこでも実行(wora) - プラットフォームの独立に深く潜るJava:一度書く、どこでも実行(wora) - プラットフォームの独立に深く潜るMay 14, 2025 am 12:05 AM

Javaの実装「Write and、Run Everywherewhere」はBytecodeにコンパイルされ、Java仮想マシン(JVM)で実行されます。 1)Javaコードを書き、それをByteCodeにコンパイルします。 2)JVMがインストールされたプラットフォームでByteCodeが実行されます。 3)Javaネイティブインターフェイス(JNI)を使用して、プラットフォーム固有の機能を処理します。 JVMの一貫性やプラットフォーム固有のライブラリの使用などの課題にもかかわらず、Woraは開発効率と展開の柔軟性を大幅に向上させます。

Javaプラットフォームの独立性:異なるOSとの互換性Javaプラットフォームの独立性:異なるOSとの互換性May 13, 2025 am 12:11 AM

javaachievesplatformentenceTheTheTheJavavirtualMachine(JVM)、CodetorunondifferentoperatingSystemswithOutModification.thejvmcompilesjavacodeplatform-IndopentedbyTecodeを承認することを許可します

Javaをまだ強力にしている機能Javaをまだ強力にしている機能May 13, 2025 am 12:05 AM

javaispowerfulfulduetoitsplatformindepentence、object-orientednature、richstandardlibrary、performancecapability、andstrongsecurityfeatures.1)platformendependenceallowseplicationStorunonaydevicesupportingjava.2)オブジェクト指向のプログラマン型

トップJava機能:開発者向けの包括的なガイドトップJava機能:開発者向けの包括的なガイドMay 13, 2025 am 12:04 AM

上位のJava関数には、次のものが含まれます。1)オブジェクト指向プログラミング、サポートポリ型、コードの柔軟性と保守性の向上。 2)例外処理メカニズム、トライキャッチ式ブロックによるコードの堅牢性の向上。 3)ゴミ収集、メモリ管理の簡素化。 4)ジェネリック、タイプの安全性の向上。 5)コードをより簡潔で表現力豊かにするためのAMBDAの表現と機能的なプログラミング。 6)最適化されたデータ構造とアルゴリズムを提供するリッチ標準ライブラリ。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール