我正在尝试在另一个椭圆上画一个椭圆。这里我使用一个 select 语句来绘制绘制组件方法。
import java.awt.*;
public class test extends JPanel{
public static final int OVAL = 1;
public static final int SOLID = 2;
private int type = LINE;
public test(int type){
this.type = type;
}
public void piantComponent(Graphics g){
super.paintComponent(g);
switch(type)
{
case OVAL:
g.setColor(Color.YELLOW);
g.drawOval(0,0,150,150);
break;
case SOLID:
g.setColor(Color.BLUE);
g.fillOval(0,0,50,50);
break;
}
}
}
现在在我的主要方法中,我想在黄色椭圆(OVAL)内显示一个纯蓝色椭圆(SOLID)。
import...;
public class Main{
public static void main (String [] args){
JFrame window = new JFrame();
window.add(new test(test.OVAL));
window.add(new test(test.SOLID));
window.setSize(300,300);
window.setVisible(true);
}
}
这根本不符合我的要求。这只显示一个椭圆,而不是一个椭圆和一个实体。我认为我正在超载窗口以仅显示椭圆形。我曾尝试使用布局管理器(gridlayout)进行显示,但它不会将两幅画相互显示,而是将两幅画并排显示。
如何在不丢失 switch 语句的情况下解决此问题。