在Java JFrame中以特定坐标显示图像的最佳方法是什么?
我知道有很多方法可以做到这一点,我只需要知道显示图像的最佳方式,我计划在框架周围移动!
如果我有一个父对象的链接列表,如:
LinkedList<ParentClass> list = new LinkedList<ParentClass>();
Run Code Online (Sandbox Code Playgroud)
我想用不同类型的子对象(所有扩展为"ParentClass")来填充它们,我将如何进行此操作.另请注意,我不知道将使用哪个特定的子类.例如,我可以尝试:
list.add(someInstanceOfAChildClass);
Run Code Online (Sandbox Code Playgroud)
然后能够访问该子类中的方法和属性.如果我没有明白我的意思,我可以澄清一下.提前致谢!
我是java语言的新手,我很困惑为什么我在这里收到错误.这是一段很短的代码,我似乎有一个心理障碍.有什么建议?
public class Rigidbody {
public boolean checkCircleCollision(float x1,float y1,float size1,float x2,float y2,float size2){
if(Math.sqrt(((x2-x1)^2)+((y2-y1)^2))<=(size1+size2)){
return true;
}
}
}
Run Code Online (Sandbox Code Playgroud)
有谁知道我在这里缺少什么?(这可能非常明显).
正如大多数人现在用密钥监听器实现的那样,在keyPressed方法中,java注册一次按键,然后暂停大约半秒钟然后按下密钥记录稳定的流.我的问题是,我希望java在按下一个键后立即注册一个稳定的流keyDown事件.我已经阅读过很多关于这个问题的文章,其中很多都谈到了摇摆计时器,其中我也处于黑暗中.为了使下面的代码更好更容易看,我只是修剪掉了胖子并把关键的监听器放到了一个单独的类中!对此的任何意见将不胜感激!
public class Keyer implements KeyListener
{
Keyer(){}
@Override
public void keyPressed(KeyEvent ovent)
{
int keyCode = ovent.getKeyCode();
System.out.println("You pressed: "+keyCode);
}
@Override
public void keyReleased(KeyEvent ovent)
{
}
@Override
public void keyTyped(KeyEvent ovent)
{
}
}
Run Code Online (Sandbox Code Playgroud) 当我尝试将此JLabel的ImageIcon设置为某些内容时,为什么会出现错误.它返回一个空指针异常.有谁知道这个问题?
public class Window extends JFrame{
JPanel panel = new JPanel();
JLabel stick[] = new JLabel[10];
Window(){
super("ThisIsWindow");
setSize(650,550);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
add(panel);
panel.setLayout(null);
stick[5].setIcon(new ImageIcon("stick.gif"));
}
}
Run Code Online (Sandbox Code Playgroud)
错误发生在将stick [5]设置为stick.gif的最后一行代码上.有人可以帮忙吗?
java ×5
swing ×3
arrays ×1
boolean ×1
collision ×1
delay ×1
image ×1
imageicon ×1
inheritance ×1
jframe ×1
jlabel ×1
keylistener ×1
linked-list ×1
methods ×1
parent-child ×1
return ×1
timer ×1