다른 타원 위에 하나의 타원을 페인트하려고합니다. 여기에서는 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)를 사용하여 표시하려고 시도했지만 두 그림을 서로 위에 표시하지 않으면 두 그림이 서로 나란히 표시됩니다.
스위치 문을 잃어 버리지 않고 어떻게 해결할 수 있습니까?
적절한 Java 클래스 이름을 사용하십시오. "test"는 표준 이름이 아닙니다. 클래스 이름은 대문자로 시작합니다. – camickr