2010-05-20 2 views
1

Netbeans을 사용하여 고정 된 크기의 jpanel을 다른 jpanel의 중심에 배치했습니다. 이제는 반복 할 수 없으며 복사 만 할 수 있습니다.netbeans를 사용하여 jpanel의 jpanel을 중심에 배치 한 방법은 무엇입니까?

어떻게하면됩니까? (또는 x와 y를 고정 된 크기의 jpanel을 다른 jpanel의 중심에 배치해야합니까?).

결과는 코드에서 다릅니다

작업 - .addContainerGap 검색 (그리고 작동하지 않는 다음을 참조하십시오

 javax.swing.GroupLayout center3Layout = new javax.swing.GroupLayout(center3); 
     center3.setLayout(center3Layout); 
     center3Layout.setHorizontalGroup(
      center3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGap(0, 1064, Short.MAX_VALUE) 
      .addGroup(center3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
       .addGroup(center3Layout.createSequentialGroup() 
        .addContainerGap(30, Short.MAX_VALUE) 
        .addComponent(mainPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, 
javax.swing.GroupLayout.DEFAULT_SIZE, 
javax.swing.GroupLayout.PREFERRED_SIZE) 
        .addContainerGap(30, Short.MAX_VALUE))) 
     ); 
     center3Layout.setVerticalGroup(
      center3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGap(0, 650, Short.MAX_VALUE) 
      .addGroup(center3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
       .addGroup(center3Layout.createSequentialGroup() 
        .addContainerGap(23, Short.MAX_VALUE) 
        .addComponent(mainPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
        .addContainerGap(23, Short.MAX_VALUE))) 
     ); 

하지 작업 - 위의 작업과 비교 .addGap 검색

.
javax.swing.GroupLayout center2Layout = new javax.swing.GroupLayout(center2); 
    center2.setLayout(center2Layout); 
    center2Layout.setHorizontalGroup(
     center2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
     .addGap(0, 1073, Short.MAX_VALUE) 
     .addGroup(center2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(center2Layout.createSequentialGroup() 
       .addGap(0, 34, Short.MAX_VALUE) 
       .addComponent(mainPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addGap(0, 35, Short.MAX_VALUE))) 
    ); 
    center2Layout.setVerticalGroup(
     center2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
     .addGap(0, 654, Short.MAX_VALUE) 
     .addGroup(center2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(center2Layout.createSequentialGroup() 
       .addGap(0, 25, Short.MAX_VALUE) 
       .addComponent(mainPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addGap(0, 25, Short.MAX_VALUE))) 
    ); 

속성 등에서 나란히 봤습니다. 도와주세요! :)

+0

넷빈즈가 "작업"파일을 위해 "양식"파일로 생성 한 것을 보는 것은 흥미로울 수 있습니다. 레이아웃의 구조를 포함하는, NB가 생성 한 xml 파일입니다. 실제 차이점을 발견하는 것이 더 쉬울 수 있습니다 (단, 이에 대해서는 보장하지 않습니다). – Gnoupi

답변

2

JPanel을 다른 Netbeans에 센터링하는 방법도 재현 할 수 없습니다 (GroupLayout을 사용하므로). 누군가가 그것을 발견 할 수 있다면, 나는 기꺼이 알게 될 것이다.

그러나 외부 패널의 레이아웃을 GridBagLayout으로 변경하는 것이 좋습니다 (Contextual 메뉴의 "setLayout"과 함께 Netbeans에서도이 작업을 수행 할 수 있습니다).
기본값 인 GridBagConstraints이 정확히 필요한 것이어야합니다. 내부 패널이 원하는 크기로 가운데에 정렬됩니다. 따라서 직접 지정하지 않아도됩니다.

관련 문제