2015-02-03 2 views
0

JTabbedPane에서 내 라벨의 배포를 변경해야합니다. JTabbedPane의 라벨 분할

나는이 있습니다

enter image description here 을 그리고 나는이하고 싶은 : enter image description here 누군가가 나를 도울 수 있습니까?

tabbedResultsPane = new JTabbedPane(SwingConstants.TOP); 

    JPanel featurePanel = new JPanel(new GridLayout(TOTAL_FEATURES, 2, 3, 3)); 
    estadoScroll = new JScrollPane(featurePanel, 
         JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, 
         JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); 
     lblFeatureHdr = new JLabel[TOTAL_FEATURES]; 
     lblFeature = new JLabel[TOTAL_FEATURES]; 
     for(int i=0; i<TOTAL_FEATURES; i++) 
     { 
      lblFeatureHdr[i] = new JLabel(strHeader[i], JLabel.RIGHT); 
      lblFeatureHdr[i].setOpaque(true); 
      lblFeatureHdr[i].setBackground(new Color(220,255,220));//.lightGray); 

      lblFeature[i] = new JLabel("", JLabel.LEFT); 
      lblFeature[i].setForeground(Color.blue);// black); 

      featurePanel.add(lblFeatureHdr[i]); 
      featurePanel.add(lblFeature[i]);     
     }    

답변

2

4 열 GridLayout과 (보다는 2 열 당신이를) 정의 :

나는 아래의 코드를 게시 할 수 있습니다.

코드를 수정하여 각 행에 2 개의 레이블을 추가하십시오.

for(int i=0; i<TOTAL_FEATURES; i++) 
    { 
     lblFeatureHdr[i] = new JLabel(strHeader[i], JLabel.RIGHT); 
     lblFeatureHdr[i].setOpaque(true); 
     lblFeatureHdr[i].setBackground(new Color(220,255,220));//.lightGray); 

     lblFeature[i] = new JLabel("", JLabel.LEFT); 
     lblFeature[i].setForeground(Color.blue);// black); 

     featurePanel.add(lblFeatureHdr[i]); 
     featurePanel.add(lblFeature[i]); 
     // add 2 more lables to the same row  
     JLabel l=new JLabel(strHeader[i], JLabel.RIGHT); 
     l.setBackground(new Color(220,255,220));//.lightGray);   
     featurePanel.add(l); 
     featurePanel.add(new JLabel("", JLabel.LEFT));     
    }    
+0

코드가 비슷하지만 코드가 세 번째 열에 녹색 배경이 느슨합니다. 조금 더 도와 주실 수 있습니까? –

+0

코드가 업데이트되었습니다. 실제로 원하는 JLabel 인스턴스를 생성하고 배열의 첫 번째 JLabel에 대한 모든 스타일을 적용 할 수 있습니다. – StanislavL

+0

그것은 작동하지 않는다, 나는 하나의 열은 녹색이지만 다른 것은 흰색이다. –