继续我做一个简单的游戏学习Java的追求,我偶然发现了一个小问题。我的游戏板扩展了JPanel以及每块棋盘。现在,这存在一些问题:每件移动和调整JPanels对象内部的JFrame
广东话集的大小,因此,每一块的JPanel按观测整个的JFrame,隐瞒件的休息和后台(游戏键盘)。
广东话设置片的位置。
我有默认流量管理器。尝试setbounds和没有运气。
也许我应该做一块扩展其他的JComponent? 添加图片: 这是一块,现在灰色区域也是一块!通过制作一个mousePressed侦听器并指定一些东西来检查它。在灰色区域之下,是另一个JPanel的游戏板(或者至少应该是!)。
alt text 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中。
LayeredPane任何人? – 2010-04-13 02:28:15
我结束了使用JLayeredPane把所有的东西(地图和单位)。 JLP不支持布局管理器,所以我必须手工找到它们,但我工作。 – 2010-04-13 02:53:25
“布局管理器将影响此容器的所有子组件,而不考虑图层设置。”-http://java.sun.com/javase/6/docs/api/javax/swing/JLayeredPane.html – trashgod 2010-04-13 03:21:38