2011-01-11 2 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.

Смежные вопросы