错误java JFrame
我不明白为什么我的代码不起作用,试图在我的错误java JFrame,java,swing,graphics,jframe,awt,Java,Swing,Graphics,Jframe,Awt,我不明白为什么我的代码不起作用,试图在我的JFrame中打印一个矩形,但总是在f.add(p)上出错 您忘记扩展某个内容,例如: public class SPEL extends JPanel { 您可以添加@Override,以减少此类错误的发生几率 @Override public void paintComponent(Graphics g){ 您忘记扩展某个内容,例如: public class SPEL extends JPanel { 您可以添加@Override,以减少此类
JFrame
中打印一个矩形,但总是在f.add(p)上出错代码>
您忘记扩展某个内容,例如:
public class SPEL extends JPanel {
您可以添加@Override
,以减少此类错误的发生几率
@Override
public void paintComponent(Graphics g){
您忘记扩展某个内容,例如:
public class SPEL extends JPanel {
您可以添加@Override
,以减少此类错误的发生几率
@Override
public void paintComponent(Graphics g){
试试这个!:
import javax.swing.*;
import java.awt.*;
@SuppressWarnings("serial")
public class SPEL extends JPanel {
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setPaint(Color.red);
Rectangle b = new Rectangle(50, 75, 100, 50);
g2d.draw(b);
g2d.fill(b);
}
public static void main(String[] args) {
JFrame f = new JFrame();
f.setSize(400, 300);
f.setLocation(100, 100);
f.setTitle("SPEL");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
SPEL p = new SPEL();
f.add(p);
f.setVisible(true);
}
}
扩展JPanle
@覆盖
使用图形2d
g2d.填充(形状s)
试试这个!:
import javax.swing.*;
import java.awt.*;
@SuppressWarnings("serial")
public class SPEL extends JPanel {
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setPaint(Color.red);
Rectangle b = new Rectangle(50, 75, 100, 50);
g2d.draw(b);
g2d.fill(b);
}
public static void main(String[] args) {
JFrame f = new JFrame();
f.setSize(400, 300);
f.setLocation(100, 100);
f.setTitle("SPEL");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
SPEL p = new SPEL();
f.add(p);
f.setVisible(true);
}
}
扩展JPanle
@覆盖
使用图形2d
g2d.填充(形状s)
“错误”总是复制/粘贴错误和异常输出。SPEL类不是Java Swing组件,因此无法将其添加到JFrame中。提示:添加@GilbertLeBlanc(或任何人,@
很重要)以通知他们新的注释。“错误”总是复制/粘贴错误和异常输出。SPEL类不是Java Swing组件,提示:添加@GilbertLeBlanc(或任何人,@
很重要)来通知他们新的注释。和super.paintComponent(g)并在EDT@Override
中启动UI,现在这是一个+1“,但是我如何将“g.drawRect”添加到JFrame中,而不是添加到顶级容器中,通常最好在JPanel
上绘制。因此,请坚持回答中所述的方法,使类扩展JPanel
。谢谢,这方面的真正初学者。错过了整个扩展位hahaa和super.paintComponent(g)并在EDT@Override
中启动UI,现在这是一个+1”,但是如何将“g.drawRect”添加到jframe“而不是绘制到顶级容器,通常最好绘制到JPanel
。因此,请坚持回答中所述的方法,使类扩展JPanel
。谢谢,这方面的真正初学者。错过了全部,哈哈