java中的repaint方法在java.applet中可用。 Applet類別是一個final方法,每當我們想要呼叫update方法以及呼叫paint方法時都會使用該方法;呼叫 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 類別的一部分,並且不能重寫。因此,可以從擴展 Applet 的類別或其子類別直接呼叫 repaint 方法。
重繪在 Java 中是如何運作的?
repaint 方法是 Applet 類別中可用的最終方法,這就是它不能被重寫的原因。每當要使用 repaint 方法時,都應該從 Applet 類別的子類別中直接呼叫它。 repaint 方法負責處理小程式繪製週期的更新。每當我們想要一個元件重新繪製自身時,我們需要呼叫 repaint 方法。如果我們更改了元件的外觀,但沒有更改其大小,則可以呼叫 repaint 方法來更新圖形使用者介面上元件的新外觀。 repaint方法是applet類別的非同步方法。當呼叫 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 } }
輸出:
執行滑鼠點擊事件後,將看到以下帶有黑色邊框的形狀。請注意,這是透過 repaint 方法完成的,該方法會呼叫 update 然後 Paints 方法,因此我們能夠在執行點擊事件後立即看到可見的形狀。
範例#2
為了更清楚地了解重繪方法的使用,這裡是另一個範例:
代碼:
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(); } }
輸出:
在上面的範例中,我們有一個小程序,並且在其中聲明了一個名為 test 的變數。我們不斷增加變數 test 的值,我們希望確保變數的更新值在使用者介面上可見。因此,我們使用 repaint 方法來確保在 Paint 方法之前呼叫 update 方法。上述程序的輸出。在測試的這個視窗值中,變數總是遞增,更新後的值在 GUI 上可見。
結論
上面的範例讓我們清楚地了解了repaint方法及其功能。當我們想要呼叫小程式的更新和繪製週期時,我們應該呼叫 repaint 方法。呼叫 repaint 方法會立即更新元件的外觀。
以上是在Java中重繪的詳細內容。更多資訊請關注PHP中文網其他相關文章!

JVM'SperformanceIsCompetitiveWithOtherRuntimes,operingabalanceOfspeed,安全性和生產性。 1)JVMUSESJITCOMPILATIONFORDYNAMICOPTIMIZAIZATIONS.2)c提供NativePernativePerformanceButlanceButlactsjvm'ssafetyFeatures.3)

JavaachievesPlatFormIndependencEthroughTheJavavIrtualMachine(JVM),允許CodeTorunonAnyPlatFormWithAjvm.1)codeisscompiledIntobytecode,notmachine-specificodificcode.2)bytecodeisisteredbytheybytheybytheybythejvm,enablingcross-platerssectectectectectross-eenablingcrossectectectectectection.2)

TheJVMisanabstractcomputingmachinecrucialforrunningJavaprogramsduetoitsplatform-independentarchitecture.Itincludes:1)ClassLoaderforloadingclasses,2)RuntimeDataAreafordatastorage,3)ExecutionEnginewithInterpreter,JITCompiler,andGarbageCollectorforbytec

JVMhasacloserelationshipwiththeOSasittranslatesJavabytecodeintomachine-specificinstructions,managesmemory,andhandlesgarbagecollection.ThisrelationshipallowsJavatorunonvariousOSenvironments,butitalsopresentschallengeslikedifferentJVMbehaviorsandOS-spe

Java實現“一次編寫,到處運行”通過編譯成字節碼並在Java虛擬機(JVM)上運行。 1)編寫Java代碼並編譯成字節碼。 2)字節碼在任何安裝了JVM的平台上運行。 3)使用Java原生接口(JNI)處理平台特定功能。儘管存在挑戰,如JVM一致性和平台特定庫的使用,但WORA大大提高了開發效率和部署靈活性。

JavaachievesPlatFormIndependencethroughTheJavavIrtualMachine(JVM),允許Codetorunondifferentoperatingsystemsswithoutmodification.thejvmcompilesjavacodeintoplatform-interploplatform-interpectentbybyteentbytybyteentbybytecode,whatittheninternterninterpretsandectectececutesoneonthepecificos,atrafficteyos,Afferctinginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginginging

JavaispoperfulduetoitsplatFormitiondence,對象與偏見,RichstandardLibrary,PerformanceCapabilities和StrongsecurityFeatures.1)Platform-dimplighandependectionceallowsenceallowsenceallowsenceallowsencationSapplicationStornanyDevicesupportingJava.2)

Java的頂級功能包括:1)面向對象編程,支持多態性,提升代碼的靈活性和可維護性;2)異常處理機制,通過try-catch-finally塊提高代碼的魯棒性;3)垃圾回收,簡化內存管理;4)泛型,增強類型安全性;5)ambda表達式和函數式編程,使代碼更簡潔和表達性強;6)豐富的標準庫,提供優化過的數據結構和算法。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

Atom編輯器mac版下載
最受歡迎的的開源編輯器

記事本++7.3.1
好用且免費的程式碼編輯器