Java JTabel 怎么放入JPanel

2025-03-28 08:48:12
推荐回答(4个)
回答1:

import javax.swing.*;
import java.awt.*;
import java.util.*;
public class JFrameTest extends JFrame{
private JTable jtable;
private Vector> rowData;
private Vector columnName;
private JPanel jpanel;
private JScrollPane scrollPanel;
private JTabbedPane tabbedPanel;
public JFrameTest()
{
init();
setComponentListener();
}

private void init()
{
this.setSize(300,300);
Container content=this.getContentPane();
jtable=new JTable(initRowData(),initColumnName());
scrollPanel=new JScrollPane(jtable,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
jpanel=new JPanel();
jpanel.add(scrollPanel);
JPanel jpanel2=new JPanel();
jpanel2.add(new JLabel("JLabel"));

tabbedPanel=new JTabbedPane(JTabbedPane.LEFT );
tabbedPanel.addTab("这个JTable", scrollPanel);
tabbedPanel.addTab("这个JLabel", null, jpanel2,"jlabel2");

content.add(tabbedPanel);
}
private void setComponentListener()
{
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private Vector> initRowData()
{
rowData=new Vector>();
Vector columnData=new Vector();
columnData.add("1");
columnData.add("2");
columnData.add("3");
rowData.add(columnData);
return rowData;
}
private Vector initColumnName()
{
columnName=new Vector();
columnName.add("test1");
columnName.add("test2");
columnName.add("test3");
return columnName;
}
public static void main(String[] args) {
new JFrameTest().setVisible(true); }}

回答2:

import java.util.Vector;import javax.swing.JFrame;
import javax.swing.JTable;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.SwingUtilities;
import javax.swing.table.DefaultTableModel;public class TestView extends JFrame {

private final Object [] colName = {"col1", "col2", "col3"};
private final JTable tblData = new JTable();
private final JTabbedPane tbpExam = new JTabbedPane();

public TestView() {

initControl();

this.pack();
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}

private void initControl() {

final JScrollPane scpTable = new JScrollPane();
Object [][] data = {{"00","01","02"},{"10","11","12"},{"20","21","22"}};
initTable(data);
scpTable.getViewport().add(tblData, null);
tbpExam.addTab("Table", null, scpTable);
this.add(tbpExam);
}

private void initTable(Object [][] data) {
DefaultTableModel model = null;

if (data == null) {
model = new DefaultTableModel(colName, 0);
} else {
model = new DefaultTableModel(data, colName);
}

tblData.setModel(model);
}

public static void main (String[] args) {
try {
SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
new TestView().setVisible(true);
}
});
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}

回答3:

1:JPanel 里面放入 JScrollPane2:JScrollPane里面放入jTable jTable就可以全部显示了

回答4:

class Mypanel extends JPanel{

private JTable mytable = null;
JPanel p=new JPanel();
private JButton bu1 = null;
private JScrollPane sp = null;public Mypanel() {
setLayout(new BorderLayout());bu1 = new JButton("保存");sp=new JScrollPane();
String[] names={"333","222"};
String[][] date={{"111","xxx"},{"111","xxx"}};
mytable=new JTable(date,names);
sp.add(mytable);
sp.setViewportView(mytable);
add(bu1,BorderLayout.SOUTH);
add(sp,BorderLayout.CENTER);
}
public static void main(String args[])
{
JFrame f=new JFrame();
f.setContentPane(new Mypanel());
f.setSize(330,300);
f.setVisible(true);
}
}
这个例子很简单,你应该能看懂