【发布时间】:2018-08-13 14:34:23
【问题描述】:
我的应用程序是一个简单的 Brick Breaker 游戏。为了绘制应用程序的视觉效果,我使用了 paintComponent 方法。该应用程序还有几个使用以下代码添加的按钮:
levelMenu = new JPanel() {
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
double scale = screenSize.getHeight()/1080;
Graphics2D g2d = (Graphics2D) g;
g2d.scale(scale, scale);
g2d.drawImage(background, 0, 0, null);
}
};
levelMenu.setLayout(new FlowLayout());
JPanel subPanel = new JPanel(new GridLayout(20, 2, 10, 10));
subPanel.setBackground(Constants.CLEAR);
subPanel.add(new JLabel());
subPanel.add(new JLabel());
for (JButton level: levelList) {
subPanel.add(level);
}
subPanel.add(new JLabel());
subPanel.add(back);
levelMenu.add(subPanel);
this.add(levelMenu);
我遇到的问题是正在添加按钮,但它们似乎被绘制在应用程序的背景图像中:
右侧的按钮不起作用,只是图像。任何线索如何解决这个问题。
【问题讨论】:
标签: java swing paintcomponent