1. java 窗口移动
监听一下窗口关闭事件就可以了WindowEvent。 监听到关闭事件后代码大概如下
:假设向左移动出窗口
int locationX ;
while(locationX > 0)
{
locationX -= 10;
this.setLocation(locationX, y);
this.repaint();
Thread.sleep(50);
}
哦。向下移,就是修改y坐标的。也和上面差不多。放心好了。不会不舒服,利用Thread.sleep控制移动延迟,locationY -= speed控制移动的幅度。
2. java实现游戏背景图片的动态移动,我想用java做一个小霸王中冒险岛这样的游戏,背景移动怎么实现
// 想实现你的方法,用画图是最快的,即在一个组件上直接画上你的背景图
// 建议你看看专swing 画图这方面的书属籍
// 其它我就不写
class My extends JComponent {
// 记住这个方法不要直接调用,如果想让界面更新,请用repaint();交由UI线程来完成
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
BufferedImage image = null;
try {
image = ImageIO.read(new FileInputStream(""));
} catch (Exception e) {
}
// 这里是图片从100,200处开始画
g.drawImage(image, -100, -200, null);
}
}
3. JAVA中怎么实现背景图片滚动
importjavax.swing.ImageIcon;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JPanel;
{
publicMainJFrame(){
//设置标题
super("JFram设置背景图片(Cannel_2020)");
//设置大小
setSize(500,400);
//设置位置
setLocation(200,50);
//背景图片的路径。(相对路径或者绝对路径。本例图片放于"java项目名"的文件下)
Stringpath="background.jpg";
//背景图片
ImageIconbackground=newImageIcon(path);
//把背景图片显示在一个标签里面
JLabellabel=newJLabel(background);
//把标签的大小位置设置为图片刚好填充整个面板
label.setBounds(0,0,this.getWidth(),this.getHeight());
//把内容窗格转化为JPanel,否则不能用方法setOpaque()来使内容窗格透明
JPanelimagePanel=(JPanel)this.getContentPane();
imagePanel.setOpaque(false);
//把背景图片添加到分层窗格的最底层作为背景
this.getLayeredPane().add(label,newInteger(Integer.MIN_VALUE));
//设置可见
setVisible(true);
//点关闭按钮时退出
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
publicstaticvoidmain(String[]args){
newMainJFrame();
}
}
运行如下