通过做一个简单的游戏继续我学习Java的追求,我偶然发现了一个小问题。我的游戏板扩展了 JPanel 以及板的每一块。现在,这提出了一些问题:
无法设置每块的大小,因此,每块 JPanel 占据整个 JFrame,隐藏其余部分和背景(游戏板)。
无法设置碎片的位置。
我有默认的流管理器。试过setbounds,没有运气。
也许我应该制作这件作品来扩展其他 JComponent?添加的图像:这是一块,现在灰色区域也是一块!通过制作一个 mousePressed 侦听器并为其分配一些东西来检查这一点。灰色区域下方是游戏板(或者至少应该是!),另一个 JPanel。
替代文字 http://img42.imageshack.us/img42/2227/screenshotvdy.png
一些代码:
package TheProject;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class GameWindow extends JFrame {
public GameWindow() {
setSize(800, 600);
setLocationRelativeTo(null);
Map map = new Map(800, 600, 2);
add(map);
MilitaryUnit imperialRussia = new MilitaryUnit(30, Color.BLACK, Color.YELLOW, Color.WHITE);
imperialRussia.setPreferredSize(new Dimension(30, 30));
add(imperialRussia);
}
}
当我应用 pack() 方法时会发生这种情况: alt text http://img442.imageshack.us/img442/5813/screenshot2ml.png
包裹在单元周围,而不是更大并填充 JFrame 的地图。