首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >程序运行,但未显示任何内容

程序运行,但未显示任何内容
EN

Stack Overflow用户
提问于 2016-02-16 17:25:59
回答 1查看 49关注 0票数 0

我一直在尝试让我的角色在游戏中移动,我现在正在尝试编程一段时间。我设法让它显示,但当我添加了应该移动它的代码时,它不再显示。我是编程新手,所以我一直基于我在网上找到的一些代码,只做了一些细微的修改,我不知道我做错了什么。

Execute.java

代码语言:javascript
运行
AI代码解释
复制
import java.awt.EventQueue;
import java.awt.Graphics;
import javax.swing.JComponent;
import javax.swing.JFrame;

public class Execute extends JFrame {
 public Execute() {
  initUI();
 }

 public static void initUI() {
  JFrame jf = new JFrame();
  jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  jf.setSize(600,600);
  jf.setTitle("I am the salad baby");

  jf.add(new Board());
 }

 public static void main (String[] args) {
  EventQueue.invokeLater(new Runnable() {
   @Override
   public void run() {
    Execute ex = new Execute();
    ex.setVisible(true);
   }
  });
 }
}

Craft.java

代码语言:javascript
运行
AI代码解释
复制
import java.awt.image.BufferedImage;
import java.awt.event.KeyEvent;

public class Craft {
 private int dx;
 private int dy;
 private int x;
 private int y;
 private BufferedImage image;

 public Craft() {
  initCraft();
 }

 private void initCraft() {
  Painter painter = new Painter();
  BufferedImage image = painter.createBufImg("Images/SpriteSheet.png");
  x = 40;
  y = 60;
 }

 public void move() {
  x += dx;
  y += dy;
 }

 public int getX() {
  return x;
 }

 public int getY() {
  return y;
 }

 public BufferedImage getImage() {
  return image;
 }

 public void keyPressed(KeyEvent e) {
  int key = e.getKeyCode();

  if (key == KeyEvent.VK_LEFT) {
   dx = -1;
  }

  if (key == KeyEvent.VK_RIGHT) {
   dx = 1;
  }

  if (key == KeyEvent.VK_UP) {
   dy = -1;
  }

  if (key == KeyEvent.VK_DOWN) {
   dy = 1;
  }
 }

 public void keyReleased(KeyEvent e) {
   int key = e.getKeyCode();

   if (key == KeyEvent.VK_LEFT) {
    dx = 0;
   }

   if (key == KeyEvent.VK_RIGHT) {
    dx = 0;
   }

   if (key == KeyEvent.VK_UP) {
    dy = 0;
   }

   if (key == KeyEvent.VK_DOWN) {
   dy = 0;
  }
 }
}

Board.java

代码语言:javascript
运行
AI代码解释
复制
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JPanel;
import javax.swing.Timer;

public class Board extends JPanel implements ActionListener {
 private Timer timer;
 private Craft craft;
 private final int DELAY = 10;

 public Board() {
  initBoard();
 }

 private void initBoard() {
  addKeyListener(new TAdapter());
  setFocusable(true);

  craft = new Craft();

  timer = new Timer(DELAY, this);
  timer.start();
 }

 @Override
 public void paintComponent(Graphics g) {
  super.paintComponent(g);
  doDrawing(g);
  Toolkit.getDefaultToolkit().sync();
 }

 private void doDrawing(Graphics g) {
  Graphics2D g2d = (Graphics2D) g;
  g2d.drawImage(craft.getImage(), craft.getX(), craft.getY(), this);
 }

 @Override
 public void actionPerformed(ActionEvent e) {
  craft.move();
  repaint();
 }

 private class TAdapter extends KeyAdapter {
  @Override
  public void keyReleased(KeyEvent e) {
   craft.keyReleased(e);
  }

  @Override
  public void keyPressed(KeyEvent e) {
   craft.keyPressed(e);
  }
 }
}

Painter.java

代码语言:javascript
运行
AI代码解释
复制
import java.io.IOException;
import java.io.File;
import java.awt.image.BufferedImage;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.imageio.ImageIO;

public class Painter extends JPanel {
 BufferedImage createBufImg(String filepath) {
  try {
   return ImageIO.read(new File(filepath));
  } catch (IOException e) {
   System.out.println("Could not read image");
  }
  return null;
 }
}

任何输入都是有帮助的!

EN

回答 1

Stack Overflow用户

发布于 2016-02-16 19:24:56

代码语言:javascript
运行
AI代码解释
复制
public class Execute extends JFrame {
 public Execute() {
  initUI();
 }

 public void initUI() {
  // you were creating an entirely different frame here
  // instead initialize **this** frame
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  setSize(600,600);
  setTitle("I am the salad baby");

  add(new Board());
 }
// ...
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35439120

复制
相关文章
快速配置Azure DevOps代理服务器
Azure DevOps非常好用,但是代理服务器的配置相对有点麻烦而且易出问题,接下来笔者分享一下如何快速配置Azure DevOps的代理服务器。值得注意的是,本文以CentOS 7为例,故在开始之前,请先准备好CentOS 7服务器。
雪雁-心莱科技
2020/09/17
1.3K0
快速配置Azure DevOps代理服务器
现在,以编程方式在 Electron 中上传文件,是非常简单的!
本文主要探讨了在 Electron 应用中如何实现上传文件到服务器的功能,同时通过本地代理服务器来获取完整的cookie。首先介绍了在 Electron 应用中如何通过 XHR 上传文件到服务器,然后介绍了如何通过 LocalStorage 将文件保存在本地。最后,本文介绍了一种使用 Electron 创建本地代理服务器,从而获取完整的cookie的方法。
ios122
2017/12/27
5.3K0
现在,以编程方式在 Electron 中上传文件,是非常简单的!
使用 Docker、Kubernetes 和 Azure DevOps 实现 DevOps
这篇文章,我们将会介绍所有你想了解的 DevOps 知识,看完后你可以着手构建自己的 CI/CD 流水线。
LinuxSuRen
2020/05/26
1.2K0
手工修复Azure DevOps无法连接到Azure的问题
今天我在为一个从TFVC迁移到Git的老项目重新配置发布到Azure App Service的CI/CD管线的时候,Azure DevOps竟然爆了。这是一个微软已知的bug,目前还未修复,我来带大家看看如何手工workaround这个问题。
Edi Wang
2019/07/09
1.6K0
手工修复Azure DevOps无法连接到Azure的问题
C# HTTP系列11 以普通文件流方式上传文件远程服务器
应用程序中上传附件是最常使用的操作之一,ASP.NET客户端一般通过上传控件实现,
张传宁IT讲堂
2019/09/18
1.9K0
在Minio以STS方式获得临时凭据上传文件
一个常见的场景是:需要让客户端来上传图片,面临的安全性问题。给与客户端永久凭据无疑是很大风险的,我们还可以选择“给予一个临时凭据,这个凭据关联到一个 授权的用户,我们可以随时停用和修改这个用户具有的权限”
张云飞Vir
2023/04/19
7.2K0
在Minio以STS方式获得临时凭据上传文件
使用Azure DevOps持续集成GitHub项目
微软的Azure DevOps是一款软件开发管理工具,整合了需求、代码、编译、测试、发布等所有功能于一身。今天我们就来看看如何用Azure DevOps对自己GitHub上的项目做持续集成,并能在GitHub显示最新编译状态。
Edi Wang
2019/07/08
1.2K0
使用Azure DevOps持续集成GitHub项目
以编程方式创建Vue.js组件实例
最近参与了一个Vue.js项目,项目中需要能够以编程方式创建组件。通过编程,意思是使用JavaScript创建和插入组件,而无需在模板中编写任何内容。
前端知否
2020/03/23
7.9K3
从一个小 Bug,到 Azure DevOps
最近和同事提起一个几年前的 Bug,那是一个很小很小的 Bug,没什么技术含量。那时候我刚入职,正好公司卖了一款仪器到某个国家,但是那边说配套的软件运行不起来,一打开就报错。经过排查发现出错的代码很简单,大致是这样:
dino.c
2021/11/30
4810
从一个小 Bug,到 Azure DevOps
[Microsoft Teams]使用连接器接收Azure Devops的通知
连接器(connector)是Teams中频道的一个接受消息的功能,官方的解释如下:
dino.c
2020/03/24
1.8K0
[Microsoft Teams]使用连接器接收Azure Devops的通知
解决Azure DevOps部署到Azure后.NET Core网站无法启动的问题
最近我遭遇了一个奇怪的问题。使用Azure DevOps配置CI/CD管线,自动部署到Azure App Service以后,.NET Core的网站竟然会启动失败。我们来看看如何解决这个问题。
Edi Wang
2019/07/09
9360
解决Azure DevOps部署到Azure后.NET Core网站无法启动的问题
Azure DevOps 部署成功后自动发邮件通知
默认情况下,Azure DevOps 在编译成功或失败后,会给项目成员发邮件通知。但是在CI/CD环境下,我们更关心的是什么时候部署完成,然后开展手工或自动化测试。我们来看看如何让 Azure DevOps 在部署成功后自动发邮件通知组员。
Edi Wang
2019/07/09
2K0
Azure DevOps 部署成功后自动发邮件通知
win10 uwp 使用 Azure DevOps 自动构建
通过 Azure DevOps 可以做到自动构建程序,覆盖计划、创建、编程、测试、部署、发布、托管、共享等各个环节,适用于大多数的语言、平台。 本文继续使用图床为例告诉大家如何使用 Azure DevOps 自动构建
林德熙
2019/03/13
4950
win10 uwp 使用 Azure DevOps 自动构建
Azure DevOps 中 Dapr项目自动部署流程实践
注:本文中主要讨论 .NET6.0项目在 k8s 中运行的 Dapr 的持续集成流程, 但实际上不是Dapr的项目部署到K8s也是相同流程,只是k8s的yaml配置文件有所不同
重典
2022/04/11
4060
Azure DevOps 中 Dapr项目自动部署流程实践
C# HTTP系列12 以form-data方式上传键值对集合到远程服务器
使用multipart/form-data方式提交数据与普通的post方式有一定区别。multipart/form-data的请求头必须包含一个特殊的头信息:Content-Type,其值必须为multipart/form-data。另外还需要规定一个内容分割符用于分割请求体中的多个post的内容,如文件内容和文本内容,只有这样服务端才能正常解析数据。但是,multipart/form-data的基础还是post,它是由post方法来实现的。
张传宁IT讲堂
2019/09/18
3.8K0
C# HTTP系列12 以form-data方式上传键值对集合到远程服务器
以编程方式执行Spark SQL查询的两种实现方式
摘 要 在自定义的程序中编写Spark SQL查询程序 1.通过反射推断Schema package com.itunic.sql import org.apache.spark.sql.SQLContext import org.apache.spark.{SparkConf, SparkContext} /**   * Created by itunic.com on 2017/1/2.   * Spark SQL   * 通过反射推断Schema   * by me:   * 我本沉默是关注互联
天策
2018/06/22
2.1K0
在Azure DevOps上编译.NET Core 2.2工程
.NET Core 2.2 已经推出几周了,然而Azure DevOps的编译管道至今还在爆。微软还没有给Hosted VS2017的Agent安装.NET Core 2.2的SDK。我们来看看如何解决这个问题,并成功编译你的.NET Core 2.2应用。
Edi Wang
2019/07/10
4250
在Azure DevOps上编译.NET Core 2.2工程
使用Azure DevOps创建CI/CD实现自动构建发布
目前博客项目代码是放在GitHub上的,每次发布了新了文章会往GitHub上推送一次,还会往托管博客的服务器推送一次,很繁琐
零式的天空
2022/03/27
6230
使用Azure DevOps创建CI/CD实现自动构建发布
Azure ARM 上传自定义镜像
制作VHD镜像并上传Azure存储 制作Azure镜像注意事项: Azure 不支持 VHDX 格式,仅支持固定大小的 VHD。 可使用 Hyper-V 管理器或 convert-vhd cmdlet 将磁盘转换为 VHD 格式。 如果使用 VirtualBox,则意味着选择的是”固定大小”,而不是在创建磁盘时动态分配默认大小。 Azure 仅支持第 1 代虚拟机。 可以将第 1 代虚拟机从 VHDX 转换为 VHD 文件格式,从动态扩展磁盘转换为固定大小磁盘。 但无法更改虚拟机的代次。 有关详细信息,
李珣
2019/03/14
2K0
本地文件上传Linux服务器快捷方式
1, 在Linux服务器用root权限执行yum install -y lrzsz
小筱
2021/08/25
3.4K0
本地文件上传Linux服务器快捷方式

相似问题

Azure DevOps服务器:以编程方式创建Wiki页面

10

以编程方式创建Azure DevOps伪影

10

以编程方式配置Azure DevOps项目设置

213

以编程方式扩展Windows Azure角色

21

Azure Devops Powershell任务:以编程方式访问构建变量

128
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档