如何解决我尝试了所有方法,但似乎无法在 jframe 中绘制某些内容
我是 Java 新手,我需要帮助才能使其正常工作。我尝试了paintComponent、super 等等。我不明白我做错了什么。我只是想制作一个简单的圆圈。我第一次尝试了不同的课程,但现在我只回到了一个。
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Main extends JPanel{
private static final long serialVersionUID = 1L;
private JFrame frame;
private JPanel panel;
public Main() {
frame = new JFrame();
panel = new JPanel();
frame.add(panel);
frame.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("shotergame");
panel.setPreferredSize(new Dimension(1000,600));
frame.pack();
frame.setVisible(true);
frame.setLocationRelativeto(null);
}
@Override
public void paint(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(Color.RED);
g2d.drawoval(100,100,50,50);
g2d.filloval(100,50);
}
public static void main(String[] args) {
new Main();
}
}
解决方法
Main
是要添加到 JPanel
的 JFrame
。panel
实例不执行任何操作,您应该删除它并在构造函数中使用 this
实例。
public class Main extends JPanel {
private static final long serialVersionUID = 1L;
private JFrame frame;
public Main() {
frame = new JFrame();
frame.add(this); // Add "this" instance
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("shotergame");
// Set preferred size to "this" instance
setPreferredSize(new Dimension(1000,600));
frame.pack();
frame.setVisible(true);
frame.setLocationRelativeTo(null);
}
(...)
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。