현재 내 캔버스에 선과 원 (바퀴처럼 애니메이션이 됨)이 그려지려고합니다.GridLayout없이 JPanels를 사용하여 JFrame에 원과 선 그리기
WheelAnimation()
이라는 생성자가 있습니다. 이 생성자 내에서
class CircleComponent extends JComponent
{
private static final long serialVersionUID = 1L;
public void paintComponent(Graphics g)
{
Graphics2D g2 = (Graphics2D) g;
for(int i = 0; i < 200; i++)
{
// repaint();
g2.fillOval(i, 50, 50, 50);
}
}
}
final CircleComponent component2 = new CircleComponent();
panel.add(component2);
그리고 이것은 원 아래에 선을 그립니다 :
class LineComponent extends JComponent
{
public void paintComponent(Graphics g)
{
Graphics2D g2 = (Graphics2D) g;
g2.drawLine(120, 120, 380, 120);
}
}
final LineComponent component = new LineComponent();
panel.add(component);
나는 setLayout
를 사용하는 경우 방법 : panel.setLayout(new GridLayout(1, 1));
두 항목을 표시 할 수 있습니다 (형식은 좋지 않습니다). 나는 setLayout
방법을 제거하는 경우
http://puu.sh/8fm9B/4f1dc1d0e5.png
는하지만, 아무것도 동일 머물고 좌표에도 불구하고, 내 프레임에 나타 없습니다.
왜 이런 일이 일어 났는지 누군가에게 알려주고 그 레이아웃을 설정하고 표시하도록 권장 할 수 있습니까?
그 부분을 이해합니다 (레이아웃 관리자는 각 구성 요소가 프레임 내에 배치되는 위치를 결정합니다). 그러나 레이아웃 관리자를 제거하면 아무 것도 나타나지 않습니다. – theGreenCabbage
@ theGreenCabbage, 내 대답은 읽었습니까 ??? 각 구성 요소의 크기와 위치를 설정 했습니까 ??? – camickr
사과! 나는'component'와'component' 둘 다'.setBounds()'를 사용했지만 아무 것도 나타나지 않습니다. 나는 그것을 잘못하고 있다고 생각한다. – theGreenCabbage