2011-01-11 114 views
1

我有一个带有表格的JPanel。在同一个JPanel上,我想添加另一个表格,但是作为一个完全独立的表格。所以我想要两个选项卡按钮顶部的某个地方在两个表之间进行交换。 (第一个标签停留在默认表格上,点击第二个标签将转到另一个表格)。如何在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中的约定是类是大写的`public Table()`。这将使您的代码更易于阅读 – 2011-01-11 22:48:12

回答

2

使用JTabbedPane。它解决了这个问题。

JTabbedPane可以作为您的JPanel的孩子添加。

相关问题