`
yaoweinan
  • 浏览: 141996 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Jpanel 绘制界面 刷新

    博客分类:
  • j2se
阅读更多

/*

java JPanel绘制

 

*/

 

import javax.swing.*;
import java.awt.*;

public class Twoball {
 public Twoball() {
  JFrame f = new JFrame();
  f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  MyPanel mp=new MyPanel();
  f.setContentPane(mp);
  mp.start();
  mp.setBackground(Color.white);
  f.setSize(new Dimension(100, 200));
  f.setLocation(Toolkit.getDefaultToolkit().getScreenSize().width/2-50, Toolkit.getDefaultToolkit().getScreenSize().height/2-100);
  f.setVisible(true);
 }

 public static void main(String[] args) {
  Twoball b = new Twoball();
 }

}
 class MyPanel extends JPanel implements Runnable{
  private Thread thread=new Thread(this);
  private short leve=0;
  MyPanel(){
   this.setSize(200,200);
   this.setVisible(true);
  }
  public void run() {
   // TODO Auto-generated method stub
   while (true) {
   this.repaint();
   try {
    thread.sleep(1000*2);
    leve++;
    System.out.println(leve);
    if(leve==5)leve=1;
   } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }}
  }
  public void start(){
   thread.start();
  }
  @Override
  protected void paintComponent(Graphics g) {
   g.setColor(Color.red);
   g.clearRect(0, 0, this.getWidth(), this.getHeight());
   
   if(leve==1){
    g.fillRect(35, 56, 20, 15);
    g.fillRect(20, 74, 50, 15);
   }else if(leve==2){
    g.fillRect(35, 38, 20, 15);
    g.fillRect(20, 56, 50, 15);
    g.fillRect(20, 74, 50, 15);
   }else if(leve==3){
    g.fillRect(35, 20, 20, 15);
    g.fillRect(20, 38, 50, 15);
    g.fillRect(20, 56, 50, 15);
    g.fillRect(20, 74, 50, 15);
   }else if(leve==4){
    g.fillRect(35, 2, 20, 15);
    g.fillRect(20, 20, 50, 15);
    g.fillRect(20, 38, 50, 15);
    g.fillRect(20, 56, 50, 15);
    g.fillRect(20, 74, 50, 15);
   }
   this.updateUI();
  }
  
 }

分享到:
评论

相关推荐

    Java绘制2D图形

    通过对`MyShape`抽象类的子类化,我们可以创建各种各样的形状,并在`JPanel`上进行绘制。通过数组管理和随机性,可以实现图形的多样化展示,使得界面更生动有趣。学习和掌握这些技术,对于任何希望在Java环境中构建...

    使用Java创建图形绘制应用程序 - 一个实战教程

    当用户点击并拖动鼠标时,我们将记录起始点和结束点,并在`mouseReleased()`方法中调用`repaint()`以刷新组件并绘制图形。 5. **图形编辑**:编辑功能通常包括选择、移动、缩放和改变颜色等操作。这需要在绘图区域...

    Swing图形界面实现可动态刷新的验证码

    Swing 的主要组件包括 JFrame、JPanel、JButton、JLabel 等,通过组合这些组件,可以创建复杂的图形界面。 知识点二:验证码的生成和展示 在本文中,我们使用了Java的Random类来生成随机验证码字符串,并使用...

    JAVA绘制函数图像工具

    在Java编程语言中,开发一个函数图像绘制工具是一项挑战性的任务,它涉及到图形用户界面(GUI)设计、数学计算以及图形渲染技术。这个"JAVA绘制函数图像工具"很可能是为了解决教育环境中教学与学习的需求,让学生或...

    java图形界面 关于基础的gui 还有对个实例

    例如,Component类的方法enable()和disable()分别用于启用和禁用组件,show()用于显示组件,paint()和repaint()用于绘制和刷新组件的图形。 布局管理器是AWT中的关键概念,它负责决定组件在容器内的位置和大小。...

    Java中感觉鼠标的拖动绘制各种图形

    在Java编程语言中,我们可以利用Java的图形用户界面(GUI)组件和图形API来实现鼠标的拖动绘制功能,创建出动态的、交互式的图形应用。以下是对标题和描述中涉及知识点的详细解释: 1. **单例模式设计**: 单例...

    Java-drawing-line-and-circle.rar_Java窗口绘制圆_drawing_java窗口画圆

    5. **刷新与更新** 在完成绘图后,记得调用`repaint()`方法,以使图形在窗口中显示出来。`repaint()`会触发窗口的重绘,确保图形的变化能够及时反映在界面上。 6. **事件监听** 如果需要在用户交互时动态改变图形...

    java贪吃蛇源码(图形界面,字符界面)

    - **多线程**:为了实现游戏与界面更新的同步,通常会使用多线程,一个线程处理游戏逻辑,另一个线程负责UI刷新。 3. **贪吃蛇游戏机制** - **蛇的移动**:蛇按照固定方向移动,每次移动一格,身体的其他部分会...

    JAVA经典时钟程序,界面美观

    在Swing中,可以创建一个圆形的组件,比如JPanel,然后重写paintComponent()方法来绘制时钟的背景、刻度和指针。使用Graphics2D API可以实现这样的定制画布功能,它允许精确的几何形状绘制和颜色填充。 时钟的运行...

    java 绘制演示sin动态变化图形

    2. 绘图面板:继承自JPanel或Canvas,重写`paintComponent(Graphics g)`方法进行绘制。 3. 控件:如JButton、JLabel、JTextField等,用于用户交互,如输入角度或自定义函数。 4. 更新逻辑:定时器触发的事件处理,...

    Java仿微信飞机大战--Swing界面

    开发者可能使用了`JFrame`作为游戏窗口的基础,`JPanel`来绘制游戏场景,并利用`KeyListener`监听用户的键盘输入,以便控制飞机移动。 游戏的核心部分包括飞机对象、子弹对象和敌人对象的创建与管理。这些对象通常...

    用java做的gps界面 可以显示地图

    Swing是Java的标准库之一,提供了丰富的组件库,如JFrame、JPanel和JLabel等,可以用来创建窗口和控件。JavaFX则提供更现代的外观和更多的动画效果,但可能需要额外的库支持。 2. **地图API集成**:为了显示地图,...

    简易chat room作业

    8. 自定义组件绘制:在Swing中,`JPanel`是一个容器,可以用来绘制自定义的图形界面元素。在聊天室作业中,`ballPanel`类继承自`JPanel`,可能用于绘制聊天窗口中的界面元素,例如聊天消息、用户信息等。 9. Java ...

    java开发2048小游戏

    随着游戏进程的推进,可能会出现性能问题,比如界面刷新的延迟。因此,对游戏循环进行优化,确保高效的游戏状态更新和渲染是很重要的。此外,为了提高代码的可维护性和可扩展性,应该遵循良好的编程实践,比如编写可...

    java 棋盘覆盖动画演示实现 图形界面 chessboard.zip

    每过一定时间间隔,调用repaint()方法刷新界面,从而达到动态显示的效果。 4. **事件处理**:如果程序具有交互性,那么可能包括了鼠标点击事件监听,当用户点击棋盘时,可以响应并执行相应的操作,如放置棋子或执行...

    动态时钟java实现.pdf

    这个时钟是一个图形用户界面(GUI)应用程序,它继承自JPanel类,并且能够显示当前的时间,同时也可以接受用户输入的时间值。以下是根据提供的文件内容进行知识点整理: 1. Java基础: - Java是一种面向对象的编程...

    java学习小总结——画图板制作(附代码)

    `BufferedImage`可以作为一个后台图像,我们在上面进行绘图,然后一次性将结果绘制到`Graphics`对象上,减少频繁的屏幕刷新。 7. 扩展与进阶 初级的画图板可能只支持直线和基本形状的绘制,但可以通过扩展支持更多...

    JAVA图形界面效果--放大镜

    在Java编程语言中,开发图形用户界面(GUI)时,我们有时需要实现一些特殊效果来增强用户体验,其中“放大镜”效果就是一个常见的需求。这个效果可以让用户通过鼠标悬停在一个区域上,就像使用物理放大镜一样看到该...

    Java-Swing界面的摄像头\\高拍仪抓图功能,有预览视频-使用xuggle。

    每次接收到新的视频帧时,都需要调用`repaint()`方法来刷新界面。 ```java public class MyMediaViewer extends JPanel implements IMediaViewer { @Override public void drawToolKitImage(Graphics2D g, ...

    画板程序代码详解附有源代码

    然后,在JPanel的paintComponent方法中,根据鼠标事件存储的起点和终点,使用Graphics2D对象绘制线条。同时,可能还会有对颜色和线型的处理逻辑。 9. **事件处理**: 鼠标事件的处理是通过事件监听器实现的。我们...

Global site tag (gtag.js) - Google Analytics