2012-02-26 11 views
1

저는 Swing의 새로운 사용자이고 좌표로 구성 요소를 그리는 데 문제가 있습니다. 이 코드를보고하십시오 :구성 요소의 좌표를 설정하는 방법은 무엇입니까?

JFrame frame=new JFrame(); 
    frame.setBounds(new Rectangle(0, 0, 700, 600)); 
    frame.getContentPane().setBackground(Color.yellow); 
    frame.setVisible(true); 

    JPanel graph=new JPanel(); 
    graph.setBounds(new Rectangle(0, 0, 700, 300)); 
    graph.setBackground(Color.white); 
    graph.setOpaque(true); 
    frame.getContentPane().add(graph); 

나는 JPanel의이 JFrame의에서 50 %를 폐쇄하는 것이 필요하지만, 지금은 100 %를 닫고, JFrame의 배경에 화이트 색상이 있습니다. 실수를 어떻게 수정해야합니까? 또한, 퍼센트를 사용하여 너비와 높이를 설정하는 의미가 있습니까? 예를 들어 너비는 50 %입니다. 아니면 내 질문에 대한 컨테이너가 존재할 수 있습니까? 이 경우, 당신은

+2

레이아웃 문제를 해결하는 방법은 적절한 LayoutManager를 사용하는 것입니다. 적절한 것이 무엇인지 알아 내기 위해서는 ... 잘 ... 그들 모두에 대해 배워야합니다, f.i. 튜토리얼에서 @mKorbel에 연결된 :-) – kleopatra

답변

5

whatever#setBound()를 사용 Standard LayoutManager를 사용하지 않는 감사 것은 GridLayout(2, 0)을 수행하는 방법 방법의 가장 JFrameJPanels 당신이 정말로 절대 위치를 원하는 경우 양쪽 방향

+0

+1 정보에 항상 frame.setVisible (true)을 사용하도록 제안하십시오. 마지막에 컨테이너에 구성 요소를 추가 한 후 :-) –

+0

감사합니다. 그러나 2 개의 패널에 대해 30/70 퍼센트를 설정해야한다면 어떻게해야합니까? – user1166635

+0

그런 다음 [GridBagLayout] (http://stackoverflow.com/a/8746800/714968) 또는 (현대 및 맞춤 LayoutManager) [MigLayout] (http://www.miglayout.com/) – mKorbel

3

을에 크기를 조정할 수있을 것 Doing Without a Layout Manager과 같이 기본 레이아웃 관리자를 비활성화 할 수 있습니다. 그러나 대부분의 경우 (컨테이너가 표시하려는 내용에 따라) 적절한 레이아웃 관리자를 선택하는 것이 가장 좋습니다.

관련 문제