2011-01-11 10 views
1

のタブを追加するためにどのように私はそれにテーブルとJPanelのを持っています。その同じJPanelでは、私は別のテーブルを追加したいが、全く別のテーブルとして追加したい。だから、私は2つのテーブルを交換するために上部のどこかに2つのタブボタンを入れたいと思う。 (最初のタブはデフォルトのテーブルに残り、2番目のタブをクリックすると別のテーブルに移動します)。のJPanel

は、どのように私はこれまでのところ、私のコードに行くのです:

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の規則では、クラスは ')('公衆表計上されるということです。これにより、コードを読みやすくなります –

答えて

2

JTabbedPaneを使用してください。それはまさにこの問題を解決します。

JTabbedPaneはあなたのJPanelの子として追加することができます。