`

重新绘制界面,repaint()函数的作用

    博客分类:
  • Java
阅读更多
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.UIManager;

public class MainFrame extends JFrame {

	private static final long serialVersionUID = 1L;

	public static void main(String args[]) {
		try {
			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
			MainFrame frame = new MainFrame();
			frame.setVisible(true);
		} catch (Exception e) {

		}
	}

	int count;

	public MainFrame() {
		setSize(800, 600);
		getContentPane().setBackground(Color.WHITE);

		Dimension size = Toolkit.getDefaultToolkit().getScreenSize();
		this.setLocation((int) (size.getWidth() - this.getWidth()) / 2,
				(int) (size.getHeight() - this.getHeight()) / 2);

		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		getContentPane().setLayout(null);

		final JButton btnStart = new JButton();
		btnStart.setBounds(360, 15, 100, 28);
		getContentPane().add(btnStart);
		btnStart.addActionListener(new ActionListener() {
			public void actionPerformed(final ActionEvent e) {
				JLabel lblTest = new JLabel("这是内容,这里主要体现的是repaint()这个函数.  "
						+ count);
				getContentPane().removeAll();
				getContentPane().add(btnStart);
				lblTest.setBounds(100, 100, 400, 200);
				getContentPane().add(lblTest);
				repaint();
				count++;
			}
		});
		btnStart.setText("重新绘制");
	}
}

 

分享到:
评论

相关推荐

    Qt简单绘图界面

    6. **更新界面**: 要使界面即时反映用户的绘图,我们需要调用`update()`函数或者`repaint()`函数来通知Qt窗口需要重绘。 7. **保存和加载绘图**: 另一个常见的功能是保存用户的绘图到文件,以及从文件加载。Qt提供...

    JAVA实现的抛物线绘制

    这可能涉及到`Component`类的`repaint()`方法,以及`paintComponent(Graphics g)`的重写,以确保每次绘制都清除旧的图像并绘制新的抛物线。 7. **用户界面设计**:使用Swing或AWT组件创建用户界面,包括输入框、...

    QT 动态等待界面

    - 在`paintEvent`方法中,我们通常会重载这个事件处理函数,以便在窗口或部件需要重新绘制时执行特定的绘图操作。 - 使用QPainterPath,我们可以轻松地组合不同路径,进行相加(合并路径)或相减(剪切路径)操作...

    Qt鼠标绘制ROI-C++.7z

    在该函数内,我们需要根据鼠标当前的位置和初始按下位置,计算出形状的大小和位置,然后调用`update()`或`repaint()`方法来刷新控件,使得绘制的形状实时显示出来。 4. **处理鼠标释放事件** (`mouseReleaseEvent...

    Qt+update函数+paintEvent事件

    在Qt框架中,`update()`函数和`paintEvent()`事件是进行界面绘制和更新的核心机制。本文将深入探讨这两个概念,以及它们如何协同工作来实现动态用户界面。 首先,我们来理解`update()`函数。在Qt中,所有的窗口部件...

    QT小项目-雷达界面(三)绘制扫描效果

    在QTimer的timeout()信号触发时,调用QGraphicsView的update()或repaint()方法来重绘界面,从而实现动画效果。 此外,QT的事件处理机制也是关键。我们需要监听用户的交互事件,比如启动和停止扫描的按钮点击,这些...

    子QWidget上画图

    通过捕获这些事件,我们可以更新画图状态并触发`repaint()`方法,使得界面重新绘制。 为了实现"在子QWidget上面画点",可以在`paintEvent()`中添加一个点的绘制逻辑。例如: ```cpp void CustomWidget::paintEvent...

    creator 使用Graphics绘制移动的虚线 项目

    比如在Java的Swing或JavaFX中,可以使用`repaint()` 方法请求组件重新绘制。同时,需要有一个变量来存储虚线的位置信息,并在每个周期中更新这个位置。 为了实现移动,可以使用定时器(如Java的`javax.swing.Timer`...

    JAVA课程设计-散点图绘制

    在程序执行过程中,我们使用 repaint() 函数来刷新窗口,并使用 getGraphics() 函数来获取图形参数。在 paintComponent() 函数中,我们使用 drawLine() 和 drawString() 方法来绘制坐标线和坐标点。 在本设计中,...

    实时数据曲线绘制的Qt编程实现

    4. **动态绘制**:在每次更新时,利用`QWidget`类的重绘事件(`repaint()`函数)来重新绘制曲线。通过调整绘图坐标和顺序,可以实现曲线的平滑移动效果。 5. **优化显示效果**:为了避免闪烁或其他视觉上的不适,...

    QT中动态曲线绘制(已经实现在主窗口中显示)

    5. 启动定时器,使得每隔一定时间,槽函数会被调用,更新曲线数据并触发界面重绘。 在代码实现中,你可能还会遇到如何平滑地生成动态曲线、如何优化重绘性能以避免闪烁等问题。这些问题可以通过使用抗锯齿、合理...

    Java GUI绘制时钟

    `Timer`的回调函数中调用`repaint()`会导致`paintComponent(Graphics g)`方法再次执行,从而更新时钟的视觉状态。 这个Java GUI时钟项目展示了Swing库在构建图形界面方面的强大功能。通过学习和理解这些代码,...

    msflexgrid控件的函数说明

    - `Redraw()`:重新绘制控件,确保显示最新信息。在大量数据更新后调用,可以提高性能。 - `Repaint()`:与`Redraw()`类似,但会完全重绘控件,可能较慢。 7. **其他辅助函数** - `SelRow` 和 `SelCol`:获取或...

    qt写的绘制串口接收到数据的实时曲线

    当定时器触发时,读取串口的数据,解析后将其添加到数据结构(如数组或队列),然后在图形视图上根据新的数据点重新计算曲线路径并绘制。 此外,为了优化性能,可能需要考虑数据缓存和数据处理策略。例如,如果数据...

    QPainter绘制仪表盘

    此外,为了响应数据变化,如仪表盘的值改变,可以重新实现`update()`或`repaint()`方法,这会触发新的`paintEvent()`调用,从而更新仪表盘的显示。 `DashboardTest`可能是一个包含上述功能的测试程序,它展示了如何...

    Qt绘图程序简单测试 绘制矩形直线

    在Qt中,当控件需要重新绘制时,会触发QPaintEvent事件。你可以通过覆盖paintEvent()方法来响应这个事件,进行绘图操作。另外,使用update()或repaint()方法可以手动触发重绘。 总结来说,Qt的绘图系统是一个功能...

    VC中使用TeeChart绘制实时曲线

    总结来说,使用TeeChart在VC++中绘制实时曲线涉及到创建图表对象、选择合适的图表类型、绑定和更新数据、设置滚动和重绘机制,以及将图表集成到用户界面。通过熟练掌握这些步骤,你可以创建出功能丰富的实时曲线显示...

    java swing绘制正弦曲线

    Java Swing 是Java GUI(图形用户界面)库的一部分,它提供了丰富的组件和工具,用于构建桌面应用程序。在这个场景中,我们讨论的是如何使用Java Swing来绘制正弦曲线,这对于理解和掌握图形绘制以及数学与编程的...

    VC中绘制三维曲线

    在MFC应用程序中,通常会创建一个对话框类或者视图类来承载绘图界面。在该类的初始化函数,如 OnInitDialog 或 OnInitialUpdate 中,你可以实例化Teechart的Chart对象,并设置其基本属性,如大小、位置、背景色等。...

    QT编写波形代码

    为了实现波形的动态更新,我们可以使用QTimer类来定时触发重新绘制,从而实现实时刷新波形的效果。每当新的数据到来时,更新数据结构,然后调用update()或repaint()方法触发窗口部件的重绘。 在描述中提到的第三方...

Global site tag (gtag.js) - Google Analytics