有人可以向我解释为什么这不起作用吗?
错误似乎在 Gen 类内部,但是
我认为这可能与 BoxMan 有关。
错误提示找不到符号变量 g。
我也尝试输入整数和双精度数,但它给了我:Required (Java.awt.Graphics) Found(int) / (double)。那么如何解决这个问题呢?我到处都找过了,但找不到答案。帮助初学者!
import java.awt.*;
import javax.swing.JFrame;
import javax.swing.WindowConstants;
import java.lang.Object.*;
public class JFrame_Test
{
public static void main (String [] args)
{
Gen Gen= new Gen (1500,1000,"A Name"); // this gives parameters for a Jframe later.
}
}
{
Gen (int size1, int size2, String title)
{
JFrame aFrame = new JFrame (title);
aFrame.setSize(size1,size2);
aFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
aFrame.setVisible(true);
//aFrame.getContentPane().add(new Canvas());
//Was trying to get it to work with a canvas
BoxMan.paint (g); // the error pops up here.
}
}
public class BoxMan
{
public Graphics2D g2;
public void paint(Graphics a )
{
g2 = (Graphics2D) g; // i even tried declaring "g" here.
g2.drawRect (10, 10, 200, 200);
}
}
我不会重复 Jantomedes 已经说过的话(这都很棒),我将对其进行扩展......
AWT 和 Swing 中的绘画是通过绘画子系统完成的。该系统决定绘制什么以及何时绘制,并调用适当的方法来更新屏幕上的组件。
See 在 AWT 和 Swing 中绘画 http://www.oracle.com/technetwork/java/painting-140037.html更多细节
Graphics
是Java中的一个抽象概念,用于将绘画的概念标准化为各种可能的输出,包括屏幕、图像和打印机。除了图像之外,您无法创建自己的Graphics
context,你需要它由系统提供
查看在 Swing 中执行自定义绘画 http://docs.oracle.com/javase/tutorial/uiswing/painting/欲了解详情
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)