【问题标题】:Add two figures without deleting the first one添加两个数字而不删除第一个数字
【发布时间】:2020-09-06 11:15:19
【问题描述】:

我正在尝试创建 Pong 游戏,我需要添加两个数字。我使用了 add() 方法,但它只显示第二个数字并清除第一个数字。我的代码如下:

import java.awt.*;
import javax.swing.*;
import java.util.*;

public class Demo extends JFrame{

    Paddle playerPaddle = new Paddle(26);
    Paddle aiPaddle = new Paddle(576);

    public Demo() {
        super("Ping Pong");
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setSize(624, 351);
        add(aiPaddle);
        add(playerPaddle);
    }
    public static void main(String[] args){
        Demo gui = new Demo();
        gui.setBackground(Color.BLACK);
        gui.setVisible(true);
    }
}

所以,它只显示playerPaddle。我如何编写它以同时显示aiPaddleplayerPaddle?提前致谢)))。

【问题讨论】:

  • 自定义油漆两个桨。它们应该是组件。

标签: java swing jframe awt


【解决方案1】:

默认情况下,JFrame 使用 BorderLayout。当你jframe.add(component) 带有边框布局时,它等于jframe.add(component, BorderLayout.CENTER)。因此,您将 2 个组件添加到 CENTER 边框布局约束。但是,BorderLayout 的中心只能有一个组件。这就是为什么你会看到这个“覆盖”。

更改布局,您将看到两个组件。或者改变至少一个组件的约束:

  add(aiPaddle,BorderLayout.PAGE_START);
  add(playerPaddle);

建议你看看a visual guide to layout managers.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-18
    相关资源
    最近更新 更多