【发布时间】:2021-12-08 21:14:35
【问题描述】:
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class TowerDefence extends JPanel {
public void paintComponent(Graphics g) {
super.paintComponent(g);
ImageIcon EasyImage = new ImageIcon("WelcomeImage.png");
Image Image = EasyImage.getImage();
Image newimg = Image.getScaledInstance(1000, 700, java.awt.Image.SCALE_SMOOTH);
EasyImage = new ImageIcon(newimg);
EasyImage.paintIcon(this, g, 0, 0);
JButton button = new JButton("Click Button");
button.setBounds(100, 100, 100, 100);
super.add(button);
}
public static void main(String[] args) throws Exception {
TowerDefence T = new TowerDefence();
JFrame frame = new JFrame("Sam");
frame.setVisible(true);
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setBounds(150, 20, 1000, 700);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(T);
}
}
为什么会打印出 2 个 JButton?我真的不知道这是如何工作的,很高兴知道。这个想法是从字面上打印出一张图片和一个按钮,我什至无法让它工作哈哈。主要问题是我不知道如何使用绘画组件,因为我对 java 还很陌生。
【问题讨论】:
-
埃加德!您在您的paintComponent 方法中添加按钮,不要那样做。只是画画。
-
你想让你的
JPanel有一个background image 吗?或者你想让你的JButton有一个icon 吗?