Как добавить вкладки на JPanels - PullRequest
1 голос
/ 12 января 2011

У меня есть 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 Ответ

2 голосов
/ 12 января 2011

Используйте JTabbedPane.Это решает именно эту проблему.

JTabbedPane может быть добавлено как ребенок вашего JPanel.

...