2017-12-13 5 views
1

Panel 클래스 내에서 패널의 높이와 너비를 가져 오려고하지만 어떻게해야할지 잘 모르겠습니다.패널의 크기를 얻는 방법

내 주요 클래스 :

public class Pong extends JFrame 
{ 
    public static void main(String[] args) 
    { 
     JFrame frame = new JFrame(); 
     frame.setSize(1000, 800); 
     frame.setLocation(500, 150); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.setTitle("Pong"); 
     frame.setVisible(true); 
     frame.setResizable(false); 
     frame.setContentPane(new Paneel()); 
     frame.getContentPane().setBackground(Color.black); 
    } 
} 

내 패널 클래스 :

public class Paneel extends JPanel 
{ 
    public Paneel() { 

    } 
} 

나는 누군가가 여기 좀 도와 수 있기를 바랍니다.

미리 감사드립니다. 이 무엇 인 나는 희망

public class Paneel extends JPanel 
{ 
    public Paneel() { 
     int width = getWidth(); 
     int height = getHeight(); 
    } 
} 

:

+2

JPanel은 JComponent에서 getHeight() 및 getWidth()를 상속받습니다. – jsheeran

+0

이렇게하려면 새로운 JPanel의 인스턴스를 만들어야합니까? 패널을 추가해야합니까? – IvoryNL

+1

아니요. 단지 'Paneel'에서 그 메소드를 호출 할 수 있습니다. – jsheeran

답변

3

하나 개의 옵션 getSize()을 사용하여 예를 더 관련성, 다른 하나는 getWidth()

getHeight()이 패널 클래스의 폭과 높이를 얻으려면 것 당신은 :)

편집 찾고 있던 :

이상한 점은 버튼을 추가해도 높이와 높이가 모두 0입니다.

프레임에 실제로 "추가"하기 전에 크기를 확인하기 때문에 0 일 것입니다. distincive 크기는하지만, 다음 코드를 실행하면 그렇지 않은 0 볼 수 있습니다 :

Pong.java :

public class Pong extends JFrame 
{ 
    public static void main(String[] args) 
    { 
     JFrame frame = new JFrame(); 
     Paneel panel = new Paneel(); 

     frame.setSize(1000, 800); 
     frame.setLocation(500, 150); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.setTitle("Pong"); 
     frame.setVisible(true); 
     frame.setResizable(false); 
     frame.setContentPane(panel); 
     frame.getContentPane().setBackground(Color.black); 

     panel.printSizes(); 
    } 
} 

주 우리가이 프레임

에 추가 한 후이 크기의 인쇄 패널을 물어

Paneel.java :

public class Paneel extends JPanel 
{ 
    public Paneel() { 

    } 

    public void printSizes() { 
     int width = getWidth(); 
     int height = getHeight(); 

     System.out.println(width); 
     System.out.println(height); 
    } 
} 
+0

도움을 주셔서 감사합니다 – IvoryNL

+0

이 작품이 당신을 위해 했습니까? 여전히 0입니까? –

+1

paintComponent로 이동했을 때 작동했습니다. 너는 나를 올바른 길로 인도한다. 감사합니다 – IvoryNL

관련 문제