我有一个类,但它没有主,我无法执行它。我应该用main来创建另一个类来执行我的小项目,还是应该在这里添加main。如何在主类中调用此方法?
这是我的班级。
import java.awt.*;
public class Cycle
{
public void paintComponent(Graphics g)
{
int gjeresia_e_kornizes = 300;
int gjatesia_e_kornizes = 200;
g.setColor(Color.red);
g.fillRect(0,0,gjeresia_e_kornizes, gjatesia_e_kornizes);
g.setColor(Color.red);
int skaji_majtas = 105;
int lart =70;
int gjeresia = 90;
int lartesia = 60;
g.drawRect(skaji_majtas, lart, gjeresia, lartesia);
int diametri = 40;
g.fillOval(skaji_majtas+gjeresia-diametri,lart, diametri, diametri);
}
}
答案 0 :(得分:2)
在这里查看basic tutorial for Swing。您现在改变您的类以扩展JPanel。
public class Cycle extends JPanel
{
@Override // just to make sure we really override this
public void paintComponent(Graphics g)
{
int gjeresia_e_kornizes = 300;
int gjatesia_e_kornizes = 200;
g.setColor(Color.red);
g.fillRect(0,0,gjeresia_e_kornizes, gjatesia_e_kornizes);
g.setColor(Color.red);
int skaji_majtas = 105;
int lart =70;
int gjeresia = 90;
int lartesia = 60;
g.drawRect(skaji_majtas, lart, gjeresia, lartesia);
int diametri = 40;
g.fillOval(skaji_majtas+gjeresia-diametri,lart, diametri, diametri);
}
}
在本教程的代码中,您可以添加Cycle,而不是添加所有组件。完成。我想你需要设置Cycle的大小。 (注意:我没有测试过这个)
答案 1 :(得分:0)
无论哪种方式都可以。您可以向此类添加main
方法或编写驱动程序类。如果你有更大的代码库,那么拥有一个驱动程序类是有帮助的。
答案 2 :(得分:0)
您可以在此课程或其他课程中添加main方法。为了执行它,您需要创建一个Cycle实例并调用此方法。
import java.awt.*;
public class Cycle
{
public void paintComponent(Graphics g)
{
int gjeresia_e_kornizes = 300;
int gjatesia_e_kornizes = 200;
g.setColor(Color.red);
g.fillRect(0,0,gjeresia_e_kornizes, gjatesia_e_kornizes);
g.setColor(Color.red);
int skaji_majtas = 105;
int lart =70;
int gjeresia = 90;
int lartesia = 60;
g.drawRect(skaji_majtas, lart, gjeresia, lartesia);
int diametri = 40;
g.fillOval(skaji_majtas+gjeresia-diametri,lart, diametri, diametri);
}
public static void main (
//instanciate a new Cycle object
Cycle cycle = new Cycle();
cycle.paintComponent(g);// g is the Graphics reference
}
}
还有一件事是如果你必须扩展Jpanel
,你也可以使用@override这个方法来覆盖。简单地说,Graphics g实际上是Super类的属性。方法调用发生在类层次结构中的更高级别
答案 3 :(得分:0)
无论哪种方式都没问题。如果你有一个足够大的项目,除了有一个main()方法之外,还要创建一个单独的驱动程序类来为你进行配置和设置。另一方面,对于小项目,通常最好将main方法放入其中一个类文件中。
答案 4 :(得分:0)
要么应该工作。哪个更好可能取决于您的项目有多大以及您正在使用它做什么。你的项目只是一个类吗?如果是这样,我会将main方法添加到该类,创建一个Cycle对象,并在其上调用paintComponent()。如果它是更大系统的一部分,那么为启动应用程序的系统创建一个特定的主类会更好,这将在何时以及如何需要时调用Cycle。