我的用户界面使用自定义的Buttons:它们包含a Image和a Label.
我Button通过将其内容设置为包含a Image和a 的网格来手动定制单个Label.但是,由于我需要有几个这样的Buttons,不同的图像和标签,我想把这个模式"提取"成可重用的东西.基本上,我只需要一个可重用的对象,有两个属性(Image和Text)我可以设置为Content几个Buttons.
我查看了ContentTemplates,但我不需要自定义控件Button本身的外观,只需要自定义它的内容.
最合适的技术是什么?
我是processing.org和Java的新手.我试图将对象存储在HashMap中,然后迭代HashMap的值,调用存储对象上的方法.为了做到这一点,我假设我需要将迭代器向下转换为我的类的类型,但这会抛出一个ClassCastException("java.util.HashMap $ ValueIterator不能转换为sketch_oct27a $ MyClass").以下简化代码演示了此行为:
import java.util.*;
void setup() {
HashMap m = new HashMap();
m.put("First", new MyClass());
m.put("Second", new MyClass());
m.put("Third", new MyClass());
Iterator iter = m.values().iterator();
while (iter.hasNext()) {
((MyClass)iter).SaySomething(); // Throws ClassCastException
iter.next();
}
}
class MyClass {
void SaySomething() {
println("Something");
}
}
Run Code Online (Sandbox Code Playgroud)
如何通过迭代器调用SaySomething()方法?