当前位置:编程学习 > JAVA >>

JTable里面的数据为什么显示不出来????求指教.


import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;

import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;

public class MangerRbe extends JFrame implements ActionListener {
JMenu mu = new JMenu("添加");
JMenuBar bar = new JMenuBar();
JMenuItem item = new JMenuItem("添加参数");
public static JScrollPane jscrollPane = null;

JButton beginButton = new JButton("执行");
JButton DelButton = new JButton("删除");
JButton ExitButton = new JButton("退出");

static DefaultTableModel tableModel = null;
static JTable table = null;
static Vector vector;
String[] title = { "序号", "IP地址", "参数" };
Object[][] data = null;

Container c;

public MangerRbe() {
super("JAVA RBE");
c = this.getContentPane();

// 增加新的记录

InitTable();

//
addData();

jscrollPane = new JScrollPane(table);
jscrollPane.setPreferredSize(new Dimension(400, 300));

// 放置jscrollpane 和 button pan
JPanel panall = new JPanel();
JPanel panbutton1 = new JPanel();
JPanel panbutton2 = new JPanel();
JPanel panbutton3 = new JPanel();
JPanel panbutton = new JPanel();
panbutton1.add(beginButton);
panbutton2.add(DelButton);
panbutton3.add(ExitButton);
panbutton.setLayout(new GridLayout(3, 1));
panbutton.add(panbutton1);
panbutton.add(panbutton2);
panbutton.add(panbutton3);

panall.setLayout(new BorderLayout());
panall.add(jscrollPane, "Center");
panall.add(panbutton, "East");

//

beginButton.addActionListener(this);
DelButton.addActionListener(this);

c.add(panall);

//
JPanel panBUtton = new JPanel();
JPanel panBUtton1 = new JPanel();
JPanel panBUtton2 = new JPanel();
JButton runAll = new JButton("RunAll");
JButton runClearAll = new JButton("ClearAll");
panBUtton1.add(runAll);
panBUtton2.add(runClearAll);
panBUtton.add(panBUtton1);
panBUtton.add(panBUtton2);
runAll.addActionListener(this);
runClearAll.addActionListener(this);
c.add(panBUtton, "South");

// 添加bar
bar.add(mu);
mu.add(item);
this.setJMenuBar(bar);

// 添加监听
item.addActionListener(this);

// 让他露出庐山真面目
this.setSize(900, 400);
this.setVisible(true);
this.setLocation(300, 150);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public void InitTable() {

vector = new Vector();

tableModel = new DefaultTableModel(data, title) {

public int getColumnCount() {// 获得列数
return title.length;
}// 获得列数

public int getRowCount() {// 获得行数,即向量的大小
return vector.size();
}

public Object getValueAt(int row, int column) {
// 取得单元格中的属性值
if (!vector.isEmpty()) {
return ((Vector) vector.elementAt(row)).elementAt(column);
// 返回第row行第column列的值
} else {
return null;
}
}

@Override
public void setValueAt(Object value, int row, int column) {

}

@Override
public String getColumnName(int column) {
return title[column];
}

@Override
public Class getColumnClass(int c) {

return getValueAt(0, c).getClass();
}

@Override
public boolean isCellEditable(int row, int column) {
return false;
}
};

table = new JTable(tableModel);
// table.setBackground(Color.pink);
// table.addMouseListener(new java.awt.event.MouseAdapter() {
//
// public void mouseClicked(java.awt.event.MouseEvent e) {
//
// table.setSelectionBackground(Color.PINK);
//
// }
// });
// 设置第一列的列宽
// TableColumn firsetColumn = table.getColumnModel().getColumn(0);
// firsetColumn.setPreferredWidth(60);
// firsetColumn.setMaxWidth(60);
// firsetColumn.setMinWidth(60);
// //设置第二列的列宽
// TableColumn secondColumn = table.getColumnModel().getColumn(1);
// secondColumn.setPreferredWidth(120);
// secondColumn.setMaxWidth(120);
// secondColumn.setMinWidth(120);
// //设置第三列的列宽
// TableColumn ThirdColumn = table.getColumnModel().getColumn(2);
// ThirdColumn.setPreferredWidth(600);
// ThirdColumn.setMaxWidth(600);
// ThirdColumn.setMinWidth(600);

// 设置表格的行数
// tableModel = (DefaultTableModel) table.getModel();
// int n=110;
// tableModel.setRowCount(n);

// 设置表头字体大小和颜色
table.getTableHeader().setFont(new Font("Dialog", 0, 25));
table.getTableHeader().setBackground(Color.yellow);

// 设置表格的行高
table.setRowHeight(30);
// table.setRowHeight(0,60);
table.setRowMargin(60);

}

public void addData() {
Vector vc = new Vector<>();
vc.addElement("1");
vc.addElement("2");
vc.addElement("3");
vector.addElement(vc);
tableModel.fireTableStructureChanged();
}

public static void main(String[] args) {
MangerRbe mr = new MangerRbe();
}

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub setTableData();
try {
UIManager.setLookAndFeel(UIManager
.getCrossPlatformLookAndFeelClassName());
} catch (Exception exception) {
exception.printStackTrace();
}
String cmd = e.getActionCommand();
if (cmd.equals("添加参数")) {
// new ParameterJpanel();
}

}

}


补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,