2012-04-12 2 views
0

중간에 JTabbedPane을 넣고 싶습니다. 변경하려는 탭을 클릭하면 tabbedpane의 위와 아래 패널에 모두 반영됩니다.JTabbedPane 위와 아래의 작업 수행

시도했지만 아래 패널에서만 작동합니다.

이 문제를 극복하는 방법은 무엇입니까? 도와주세요.

미리 감사드립니다. 당신이 당신의 탭 창 위 아래 패널에서 뭔가를 변경하고자하는 가정에

jTabbedPane1 = new javax.swing.JTabbedPane(); 
jTabbedPane1.addTab("Daily Market", jScrollPane1); 
    jTabbedPane1.addTab("Weekly Market", jScrollPane2); 
+2

코드를 게시하십시오. – StanislavL

+1

당신이 의미하는 것을 정말로 얻지 못했습니다 ... 좀 더 자세하게 문제를 설명하고 실제 문제를 나타내는 코드를 더 추가 할 수 있습니까? –

답변

2

:

여기 내 코드입니다. 아래 상단 및 아래 패널의 라벨 텍스트를 변경하는 샘플 코드 :

import java.awt.BorderLayout; 

import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 
import javax.swing.JTabbedPane; 
import javax.swing.event.ChangeEvent; 
import javax.swing.event.ChangeListener; 

public class TestJTabbedPane extends JFrame { 

    /** 
    * 
    */ 
    private static final long serialVersionUID = 1L; 

    private void init(){ 
     this.setLayout(new BorderLayout()); 
     JPanel topPanel = new JPanel(); 
     final JLabel topLabel = new JLabel("North"); 
     topPanel.add(topLabel); 
     this.add(topPanel, BorderLayout.NORTH); 

     JTabbedPane tabbedPane = new JTabbedPane(); 
     JPanel firstTabCont = new JPanel(); 
     firstTabCont.add(new JLabel("First")); 
     tabbedPane.addTab("First", firstTabCont); 

     JPanel secondTabCont = new JPanel(); 
     secondTabCont.add(new JLabel("Second")); 
     tabbedPane.addTab("Second", secondTabCont); 

     this.add(tabbedPane, BorderLayout.CENTER); 

     JPanel bottomPanel = new JPanel(); 
     final JLabel bottomLabel = new JLabel("South"); 
     bottomPanel.add(bottomLabel); 
     this.add(bottomPanel, BorderLayout.SOUTH); 

     tabbedPane.addChangeListener(new ChangeListener() { 

      @Override 
      public void stateChanged(ChangeEvent evt) { 
       JTabbedPane pane = (JTabbedPane)evt.getSource(); 
       int selectedIndex = pane.getSelectedIndex(); 
       if(selectedIndex == 0){ 
        topLabel.setText(""); 
        topLabel.setText("Hi"); 

        bottomLabel.setText(""); 
        bottomLabel.setText("Bye"); 
       } else { 
        topLabel.setText(""); 
        topLabel.setText("Bye"); 

        bottomLabel.setText(""); 
        bottomLabel.setText("Hi"); 
       } 

      } 
     }); 
     this.pack(); 
     this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     this.setVisible(true); 
    } 

    public static void main(String[] args) { 
     new TestJTabbedPane().init(); 
    } 
}