gpt4 book ai didi

java - Swing JPanel.add 不会将组件添加到面板中

转载 作者:行者123 更新时间:2023-11-30 03:21:00 24 4
gpt4 key购买 nike

我是 Java Swing 新手。所以我遇到了向主窗口添加组件的问题。

这是我的代码。

public class MainFrame extends JFrame {

public MainFrame(){
setTitle("Tetris");
JComponent gamePanel = new GamePanel();
add(gamePanel);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 600);
setVisible(true);
}
}

public class GamePanel extends JPanel {
public GamePanel(){
setLayout(new BorderLayout());
setBackground(Color.white);
add(new Ball(), BorderLayout.NORTH);
add(new StartButton(), BorderLayout.SOUTH);
}
}

public class Ball extends JComponent {
@Override
protected void paintComponent(Graphics g) {
Graphics2D graphics2D = (Graphics2D)g;
graphics2D.setColor(Color.RED);
graphics2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
graphics2D.fillOval(40,40,10,10);
}
}

当我调用主方法 new MainFrame() 时,我得到了仅带有按钮的窗口。没有球。你能帮我一下吗?

最佳答案

将球放在 BorderLayout.CENTER 而不是 BorderLayout.North

关于java - Swing JPanel.add 不会将组件添加到面板中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31338616/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com