2011-01-11 5 views
1

테이블이있는 JPanel이 있습니다. 동일한 JPanel에서 다른 표를 추가하고 완전히 별개의 표로 추가하려고합니다. 그래서 두 테이블 사이의 교환을 위해 상단에 어딘가에 두 개의 탭 버튼이 있어야합니다. (첫 번째 탭은 기본 테이블에 머물러 두 번째 탭을 클릭하면 다른 테이블로 이동합니다).JPanels에 탭을 추가하는 방법

어떻게 지금까지 내 코드에 가야합니까 :

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
import java.io.*; 
import java.util.ArrayList; 
import java.awt.Font; 
import javax.swing.plaf.FontUIResource; 
import java.util.Calendar; 
import java.awt.Color; 
import javax.swing.table.*; 

class table extends JFrame 
{ 
    // Instance attributes used in this example 
    private JPanel  topPanel; 
    private JTable  table; 
    private JScrollPane scrollPane; 
    private static JFrame openFrame; 

    public table() 
    { 

    //.....{some code work deleted to simplify}.... 

    String columnNames[] = {"Time","Volume","Rate","CPP"}; 

    String dataValues[][]= new String [counter][4]; 


for (int i= 0; i<counter; i++){ 
dataValues[i][0] =dataValues_timemap[i];} 

for (int j = 0; j<counter; j++){ 
dataValues[j][1] = dataValues_vol[j]; } 

for (int k = 0; k<counter; k++){ 

dataValues[k][2] = dataValues_rate[k]; }  

for (int l = 0; l<countery; l++){ 
dataValues[l][3] = dataValues_cpp[l]; } 


     setTitle("Table Summary"); 
     setSize(280,300); 

     topPanel = new JPanel(); 
     topPanel.setLayout(new BorderLayout()); 
     getContentPane().add(topPanel); 
     setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
     setLocation(1300,280); 
     table = new JTable(dataValues, columnNames); 

     scrollPane = new JScrollPane(table); 
     topPanel.add(scrollPane, BorderLayout.CENTER); 

} 
    } 

    public static void main(String args[]) 
    { 
     // Create an instance of the test application 
     SimpleTableExample mainFrame = new SimpleTableExample(); 
     mainFrame.setVisible(true); 
    } 
} 
+1

Java의 규칙은 클래스가'public Table()'로 대문자로되어 있다는 것입니다. 이렇게하면 코드를 더 쉽게 읽을 수 있습니다. –

답변

2

JTabbedPane를 사용합니다. 이 문제를 정확히 해결합니다.

JTabbedPane은 (는) JPanel의 자녀로 추가 할 수 있습니다.

관련 문제