网站首页 > 精选教程 正文
import javax.swing.*;
import java.awt.*;
public class CameraExample extends JPanel {
private static final long serialVersionUID = 1L;
private int xOffset = 0;
public CameraExample() {
// 使用双缓冲技术避免闪烁
super(true);
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
doDrawing(g);
}
private void doDrawing(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
// 绘制背景
g2d.setColor(Color.WHITE);
g2d.fillRect(0, 0, 640, 480);
// 绘制实体
g2d.setColor(Color.BLUE);
g2d.fillRect(200 + xOffset, 100, 20, 20);
// 绘制Camera边界
g2d.setColor(Color.RED);
g2d.drawRect(100 + xOffset, 50, 200, 200);
}
public void moveCamera(int x) {
xOffset = x;
repaint();
}
public static void main(String[] args) {
JFrame frame = new JFrame("Camera Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new CameraExample());
frame.setSize(640, 480);
frame.setVisible(true);
// 模拟移动Camera
CameraExample cameraExample = (CameraExample) frame.getContentPane().getComponent(0);
for (int i = -100; i < 100; i++) {
cameraExample.moveCamera(i);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
这段代码演示了如何在Java Swing中实现一个简单的Camera效果。它创建了一个CameraExample类,继承自JPanel,并重写了paintComponent方法来绘制屏幕上的对象。moveCamera方法用于移动Camera并重绘组件。在主方法中,我们创建了一个JFrame,添加了CameraExample的实例,并模拟了Camera的移动。
猜你喜欢
- 2025-01-31 程序员接到“私活”几种途径的思考-从我自己出发
- 2025-01-31 《我的世界》java版还是基岩版?小孩子才做选择
- 2025-01-31 基于 JavaFx 搭建的实用小工具集合
- 2025-01-31 我为我的孩子写了本JAVA编程书(我为我的孩子写了本java编程书的英语)
- 2025-01-31 Java游戏框架LibGDX的使用(java app框架)
- 2025-01-31 现在还玩塞班游戏的人,不只是因为情怀
- 2025-01-31 晚会互动小游戏(50个晚会互动趣味小游戏)
- 2025-01-31 Java & Python 康威生命游戏 - 命令行版
- 2025-01-31 《大家一起察言观色》背后:一家JAVA手游厂商的辉煌与转型
- 2025-01-31 15个躺着就能学编程的游戏网站介绍
你 发表评论:
欢迎- 07-10动漫人物像|插画 壁纸 头像 签名 素材
- 07-10运动人物|插画 壁纸 头像 签名 素材
- 07-10动漫人物|插画 壁纸 头像 签名 素材
- 07-10神话人物|插画 壁纸 头像 签名 素材
- 07-10日漫人物像|插画 壁纸 头像 签名 素材
- 07-10 日漫人物|插画 壁纸 头像 签名 素材
- 07-10日漫人物风|插画 壁纸 头像 签名 素材
- 07-10日漫人物|插画 壁纸 头像 签名 素材
- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)