繼續我做一個簡單的遊戲學習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