当swing必须绘制组件时调用它。您可以在eclipse调试模式下使用断点来了解代码流的工作原理。您可以在我的图像中看到调试点的使用(左侧是蓝色)。在代码的这一部分中,您可以通过在它旁边放置一个断点来发现它在import com.sun.jna.Native;
import com.sun.jna.platform.win32.*;
import com.sun.jna.win32.W32APIOptions;
public class ProcessList {
public static void main(String[] args) {
WinNT winNT = (WinNT) Native.loadLibrary(WinNT.class, W32APIOptions.UNICODE_OPTIONS);
WinNT.HANDLE snapshot = winNT.CreateToolhelp32Snapshot(Tlhelp32.TH32CS_SNAPPROCESS, new WinDef.DWORD(0));
Tlhelp32.PROCESSENTRY32.ByReference processEntry = new Tlhelp32.PROCESSENTRY32.ByReference();
while (winNT.Process32Next(snapshot, processEntry)) {
//see if your process is open and update your counter
}
winNT.CloseHandle(snapshot);
}
}方法中被调用。在GUI编程期间,断点是必不可少的。
示例:
参考:
根据API文档:由Swing调用以绘制组件。应用程序不应直接调用paint,而应使用repaint方法来调度组件以进行重绘。
此方法实际上将绘制工作委托给三个受保护的方法:paintComponent,paintBorder和paintChildren。他们按照列出的顺序调用,以确保孩子出现在组件本身之上。一般来说,组件及其子组件不应在分配给边框的insets区域中绘制。子类可以像往常一样覆盖此方法。一个只想专门化UI(外观)委托的paint方法的子类应该只覆盖paintComponent。