java - 在 JFrame 内移动 JPanels 对象并调整其大小

标签 java jcomponent

通过做一个简单的游戏来继续学习 Java,我偶然发现了一个小问题。我的游戏板扩展了 JPanel 以及游戏板的每一 block 。现在,这带来了一些问题:

  1. 无法设置每个棋子的大小,因此每个棋子JPanel占据整个JFrame,隐藏其余棋子和背景(游戏板)。

  2. 无法设置棋子的位置。

我有默认的流程管理器。尝试过设置限制但没有运气。

也许我应该制作这个片段来扩展其他 JComponent? 添加的图像: 这就是那 block ,现在灰色区域也是那 block !通过创建 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 的 map 。

最佳答案

对于棋子随机移动的游戏,您可能会使用“空布局”。

阅读 Swing 教程中关于 Absolute Positioning 的部分了解更多信息。

关于java - 在 JFrame 内移动 JPanels 对象并调整其大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2626403/

相关文章:

JavaCv/OpenCv 错误 : what does it mean?

java - 为什么 PaintComponents 被调用但看不到?

JavaFX - 初始化 Controller 时组件为空

Java Swing - 为什么 JComponent 不显示?

java - 在 Java 中,如何用两种不同的颜色绘制一个矩形?

java - 在 Java 中检测 Hashmap 中的循环依赖

java - for循环生成 "1,4,9,16,25,36,49,64,81,100"

java - 在 Activity 中添加后退按钮

java - java的Makefile问题

java - JCheckbox 监听器