所以我在这里看一个教程:http: //zetcode.com/tutorials/javagamestutorial/basics/
最后,他们展示了如何将图像设置为背景(这很简单)。他们使用 2 个代码:Board.java 和 Image.java(为方便起见,我在下面复制了这些代码)。
出于某种原因,我似乎无法将 JButton 添加到我的 GUI 中?
我尝试在该行之后将以下代码添加到Image.javaImage Main = new Image();
中,但我不知道为什么它不起作用。通常我可以使用add
命令将 JButton 添加到 JPanel 并将面板设置为可见setVisible(true)
。
JButton start;
start = new JButton("Click Me");
Main.getContentPane().add(start);
我还尝试向 Board.java 添加一个类似的代码,只是为了看看它是否有效——当然它没有。为什么我的 JButton 不显示?我知道我做错了什么,但我无法弄清楚。有人可以帮忙吗?
(1) Board.java
package bardejov;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JButton;
import javax.swing.JFrame;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
public class Board extends JPanel {
Image bardejov;
public Board() {
ImageIcon ii = new ImageIcon(this.getClass().getResource("bardejov.jpg"));
bardejov = ii.getImage();
}
public void paint(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
g2d.drawImage(bardejov, 10, 10, null);
}
}
(2) Image.java
package bardejov;
import javax.swing.JFrame;
import javax.swing.JButton;
public class Image extends JFrame {
public Image() {
add(new Board());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(280, 240);
setLocationRelativeTo(null);
setTitle("Bardejov");
setVisible(true);
}
public static void main(String[] args) {
Image Main = new Image();
}
}