Canvas질문
연다홍
어케 매번 질문만 올려서 죄송한데요..
제가 풀고 있는 문제중에 이런것이 있습니다
일단 먼저 프레임을 생성하고 거기에 캔버스를 생성해서 붙이고
그위에 fillRect를 이용해서 3 * 3의 다른 색깔의 사각형을 만든다 인데요
어플리 케이션 프로그램으로 만드닌깐 도저히 캔버스에
사각형을 붙이지를 못하겠습니다.
보통은 먼저 캔버스를 생성하고 그안에서 프레임을 생성한 뒤에
class Test extends Canvas
{
public static void main (String [] args)
{
Test t = new Test();
}
....................
Frame f = new Frame();
f.add(this);
...........................
이런식으로 해서 밑에 paint메소드를 쓰면
가능한데 저렇게 하지 않고
먼저
class Test extends Frame
{
public static void main (String [ ]args)
{
Test t = new Test ();
}
...............................
Canvas c = new Canvas();
add(c, BorderLayout.CENTER);
............................................
이렇게 한뒤에 밑에 paint()메소드를 써서 사각형을 그리면
이게 보이지가 않습니다.
어케 다른 방법이 없는지 고수님들의 조언 구합니다...
-
창민 2024-02-14
Canvas 의 void paint(Graphics g) 에소드를 오버라이드 하여 구현해주어야 합니다.
MyCanvas extends canvas {
public void paint(Graphics g) {
사각형 그려요,,
}
}
이런 클래스를 만들어 사용하거나 아니면 inner class를 이용해서 바로
Canvas c = new Canvas() {
public void paint(Grap