- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
初学者问题。 。 。我想对 GImage 对象运行 boolean 测试,但我不知道如何操作。例如,如果我的 GImage 显示“image1.jpg”文件,我想要执行“a”。但如果它显示其他任何内容,我想做“b”。这些图像是由我的程序的不同部分随机选择的。我能看到做到这一点的唯一方法是创建一个占位符字符串变量,我可以在更改 GImage 时随时修改该变量(然后我可以对占位符变量执行测试),但我确信这不是执行我想要的操作的最佳方法。例如,以下方法可行,但由于我的实际程序有很多相关的 GImage 对象和可能的图像,因此这种方法会非常笨拙:
GImage image1 = new GImage("bar.jpg", 0, 0);
int var1 = 0;
GImage image2 = new GImage("sunset.jpg", 100, 0);
int var2 = 1;
GImage image3 = new GImage("bar.jpg", 200, 0);
int var3 = 0;
if (var1 == 0) {
// returns true
}
if (var2 == 0) {
// returns false
}
if (var3 == 0) {
// returns true
}
我刚刚学习编程,所以可能有一个明显的解决方案,但我似乎找不到它。如果有一个方法返回 GImage 显示的文件名,那似乎可以满足我的需要,但我找不到这样的方法。感谢您的帮助。
最佳答案
您可以将图像包装在您自己的类中,其中包含适当的属性。
快速而肮脏:
class MyImage
{
private String resourceName;
private GImage gImage;
public MyImage(String resourceName,int x, int y){
this.resourceName = resourceName;
this.gImage = new GImage(resourceName,x,y)
}
public String getResourceName()
{
return resourceName;
}
//.
//.
//.
}
public static final String RES_IMG_SUNSET = "sunset.jpg";
//.
//.
//.
MyImage image1 = new MyImage("bar.jpg", 0, 0);
MyImage image2 = new MyImage(RES_IMG_SUNSET, 100, 0);
MyImage image3 = new MyImage("bar.jpg", 200, 0);
if(image2.getResourceName().equals(RES_IMG_SUNSET))
{
}
您可能希望拥有某种唯一的资源名称,因此您可以使用规范化的规范文件名或 URI。另一种方法是为这些名称定义一个全局常量,如上例所示。当然,GImage必须支持该格式。
关于java - 如何在 GImage 上运行 boolean 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14183767/
我正在尝试 acm 库,当我尝试使用 GImage 时,它找不到我的图像。我试着把它到处放,但还是找不到。 GImage在哪里找图片(请具体)谢谢 最佳答案 我也遇到了同样的问题。我使用了完整路径
所以这是我的代码的一部分,抛出 NullPointerException: public class PuzzleGame extends GraphicsProgram implements Key
初学者问题。 。 。我想对 GImage 对象运行 boolean 测试,但我不知道如何操作。例如,如果我的 GImage 显示“image1.jpg”文件,我想要执行“a”。但如果它显示其他任何内容
我是一名优秀的程序员,十分优秀!