2011-01-11 33 views
1

Ich habe ein JPanel mit einer Tabelle darauf. Auf dem gleichen JPanel möchte ich eine andere Tabelle hinzufügen, aber als eine völlig separate Tabelle. Ich möchte also zwei Tabs irgendwo oben auf der Tastatur haben, um zwischen den beiden Tabellen zu wechseln. (Die erste Registerkarte wird in der Standardtabelle angezeigt. Wenn Sie auf die zweite Registerkarte klicken, wird die andere Tabelle angezeigt).So fügen Sie Registerkarten zu JPanels hinzu

Wie gehe ich in meinem Code so weit:

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

Die Konvention in Java ist, dass Klassen 'public Table()' aktiviert werden. Dies würde Ihren Code leichter lesbar machen –

Antwort

2

ein JTabbedPane verwenden. Es löst genau dieses Problem.

Die JTabbedPane kann als Kind Ihrer JPanel hinzugefügt werden.

Verwandte Themen