ある楕円形を別の楕円形の上にペイントしようとしています。ここでは、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)で表示しようとしましたが、2つの絵を重ねて表示するのではなく、2つの絵を並べて表示します。
switch ステートメントを失わずにこれを修正するにはどうすればよいですか。