java表格行代碼 javagui表格

java swing界面化設(shè)計 jtable,如果在后期給表格增加多行記錄?請給下參考代碼,謝謝

import?javax.swing.*;

站在用戶的角度思考問題,與客戶深入溝通,找到伊犁網(wǎng)站設(shè)計與伊犁網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、主機域名網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋伊犁地區(qū)。

import?javax.swing.event.TreeSelectionEvent;

import?javax.swing.event.TreeSelectionListener;

import?javax.swing.table.DefaultTableModel;

import?javax.swing.tree.DefaultMutableTreeNode;

import?java.awt.*;

import?java.util.*;

import?java.util.List;

public?class?StudentManage?extends?JFrame{

public?final?static?String[]?CH_NUM?=?{"一","二","三","四","五","六","七","八","九","十"};

public?final?static?String?ROOT?=?"班級管理";

public?final?static?int?GRADE_NUM?=?3;

public?final?static?int?CLASS_NUM?=?3;

private?MapString,?ListStudent?classes;

public?StudentManage()?{

setTitle("學(xué)生管理系統(tǒng)");

setSize(300,?300);

setLayout(new?BorderLayout());

if(classes?==?null)?classes?=?new?HashMap();

DefaultMutableTreeNode?top?=?new?DefaultMutableTreeNode(ROOT);

DefaultMutableTreeNode[]?gradeNodes?=?new?DefaultMutableTreeNode[GRADE_NUM];

for?(int?i?=?0;?i??GRADE_NUM;?i++)?{

gradeNodes[i]?=?new?DefaultMutableTreeNode(CH_NUM[i]?+?"年級");

for?(int?j?=?0;?j??CLASS_NUM;?j++)?{

gradeNodes[i].add(new?DefaultMutableTreeNode(CH_NUM[j]?+?"班"));

}

top.add(gradeNodes[i]);

}

final?JTree?tree?=?new?JTree(top);

String?title[]?=?{"ID","姓名","性別","年齡","地址"};

final?DefaultTableModel?model?=?new?DefaultTableModel(title,?0);

JTable?table=new?JTable(model);

tree.addTreeSelectionListener(new?TreeSelectionListener()?{

@Override

public?void?valueChanged(TreeSelectionEvent?e)?{

DefaultMutableTreeNode?node?=?(DefaultMutableTreeNode)?tree?.getLastSelectedPathComponent();

if?(node?==?null)?return;

Object?object?=?node.getUserObject();

if?(node.isLeaf())?{

ListStudent?stdList?=?classes.get(getFullPath(node));

Object[][]?data?=?new?Object[stdList.size()][5];

for?(int?i?=?0;?i??stdList.size();?i++)?{

data[i][0]?=?stdList.get(i).getId();

data[i][1]?=?stdList.get(i).getName();

data[i][2]?=?stdList.get(i).getSex();

data[i][3]?=?stdList.get(i).getAge();

data[i][4]?=?stdList.get(i).getAddress();

}

while(model.getRowCount()0){

model.removeRow(model.getRowCount()-1);

}

for?(int?i?=?0;?i??stdList.size();?i++)?{

model.addRow(data[i]);

}

model.fireTableDataChanged();

}

}

});

add(tree,?BorderLayout.WEST);

add(new?JScrollPane(table),?BorderLayout.CENTER);

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

private?String?getFullPath(DefaultMutableTreeNode?defaultMutableTreeNode){

StringBuilder?sb?=?new?StringBuilder();

Object[]?objs?=?defaultMutableTreeNode.getUserObjectPath();

for?(int?i?=?0;?i??objs.length;?i++)?{

sb.append(objs[i]);

}

return?sb.toString().replace(ROOT,"");

}

public?void?init(){

for?(int?i?=?0;?i??GRADE_NUM;?i++)?{

for?(int?j?=?0;?j??CLASS_NUM;?j++)?{

int?n?=?new?Random().nextInt(30)+1;

ListStudent?stdList?=?new?ArrayList(n);

for?(int?k?=?0;?k??n;?k++)?{

stdList.add(new?Student(k,"學(xué)生"+k,"男",

12,“”));

}

classes.put(CH_NUM[i]?+?"年級"+?CH_NUM[j]?+"班",?stdList);

}

}

}

public?static?void?main(String[]?args)?{

StudentManage?studentManage?=?new?StudentManage();

studentManage.init();

}

}

class?Student?{

private?int?id;

private?String?name;

private?String?sex;

private?int?age;

private?String?address;

public?Student(int?id,?String?name,?String?sex,?int?age,?String?address)?{

this.id?=?id;

this.name?=?name;

this.sex?=?sex;

this.age?=?age;

this.address?=?address;

}

public?Student()?{

}

public?int?getId()?{

return?id;

}

public?String?getName()?{

return?name;

}

public?String?getSex()?{

return?sex;

}

public?int?getAge()?{

return?age;

}

public?String?getAddress()?{

return?address;

}

@Override

public?String?toString()?{

return?"Student{"?+

"id="?+?id?+

",?name='"?+?name?+?'\''?+

",?sex='"?+?sex?+?'\''?+

",?age="?+?age?+

",?address='"?+?address?+?'\''?+

'}';

}

}

用java代碼實現(xiàn)讀取Excel中每個sheet頁的內(nèi)容,并且要與其他的Excel中某一列的值進行

/**

*

* p標(biāo)題:readExcel/p

* p描述:讀取Excel文件數(shù)據(jù)/p

* @param excelfilePath Excel文件路徑

* @param startRow 開始行

* @param startCol 開始列

* @return ListArrayListString

* @throws IOException

* @throws BiffException

*/

public ListMapString, Object readExcel(String excelfilePath,int startRow, int startCol)

throws IOException, BiffException {

// 讀取xls文件

InputStream ins = new FileInputStream(excelfilePath);

// 設(shè)置讀文件編碼

WorkbookSettings setEncode = new WorkbookSettings();

setEncode.setEncoding("UTF-8");

Workbook rwb = Workbook.getWorkbook(ins, setEncode);

ListMapString, Object alldata = new ArrayListMapString, Object();

MapString, Object data = null;

alldata.clear();

// 獲得當(dāng)前Excel表共有幾個sheet

Sheet[] sheets = rwb.getSheets();

// 獲得表數(shù)

int pages = sheets.length;

// 將excel表中的數(shù)據(jù)讀取出來

// 在從Excel中讀取數(shù)據(jù)的時候不需要知道每個sheet有幾行,有那多少列

for (int i = 0; i pages; i++) {

//這里讀取excel中每個sheet的數(shù)據(jù),Sheet sheet = rwb.getSheet(i); 讀取第二個sheet就是getSheet(1);

Sheet sheet = rwb.getSheet(i);

int cols = sheet.getColumns(); // 列

// 讀取每一行對應(yīng)的列數(shù)目

// 循環(huán)讀取每一行的全部列數(shù)目的內(nèi)容

int rows = sheet.getRows(); // 行

for (int r = startRow; r rows; r++) {

data = new HashMapString, Object();

// 行循環(huán),Excel的行列是從(0,0)開始

for (int c = startCol; c cols; c++) {

Cell excelRows = sheet.getCell(c, r);

data.put("bgbh", excelRows.getContents());

}

alldata.add(data);

}

}

ins.close();

return alldata;

}

java怎么實現(xiàn)表格的行刪除

java中表格的刪除是通過事件監(jiān)控來實現(xiàn)的,示例代碼如下:

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.JTextField;

import javax.swing.ListSelectionModel;

import javax.swing.table.DefaultTableModel;

//維護表格

public class JTableDefaultTableModelTest extends JFrame{

private DefaultTableModel tableModel; //表格模型對象

private JTable table;

private JTextField aTextField;

private JTextField bTextField;

public JTableDefaultTableModelTest()

{

super();

setTitle("表格");

setBounds(100,100,500,400);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

String[] columnNames = {"A","B"}; //列名

String [][]tableVales={{"A1","B1"},{"A2","B2"},{"A3","B3"},{"A4","B4"},{"A5","B5"}}; //數(shù)據(jù)

tableModel = new DefaultTableModel(tableVales,columnNames);

table = new JTable(tableModel);

JScrollPane scrollPane = new JScrollPane(table); //支持滾動

getContentPane().add(scrollPane,BorderLayout.CENTER);

//jdk1.6

//排序:

//table.setRowSorter(new TableRowSorter(tableModel));

table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); //單選

table.addMouseListener(new MouseAdapter(){ //鼠標(biāo)事件

public void mouseClicked(MouseEvent e){

int selectedRow = table.getSelectedRow(); //獲得選中行索引

Object oa = tableModel.getValueAt(selectedRow, 0);

Object ob = tableModel.getValueAt(selectedRow, 1);

aTextField.setText(oa.toString()); //給文本框賦值

bTextField.setText(ob.toString());

}

});

scrollPane.setViewportView(table);

final JPanel panel = new JPanel();

getContentPane().add(panel,BorderLayout.SOUTH);

panel.add(new JLabel("A: "));

aTextField = new JTextField("A4",10);

panel.add(aTextField);

panel.add(new JLabel("B: "));

bTextField = new JTextField("B4",10);

panel.add(bTextField);

final JButton addButton = new JButton("添加"); //添加按鈕

addButton.addActionListener(new ActionListener(){//添加事件

public void actionPerformed(ActionEvent e){

String []rowValues = {aTextField.getText(),bTextField.getText()};

tableModel.addRow(rowValues); //添加一行

int rowCount = table.getRowCount() +1; //行數(shù)加上1

aTextField.setText("A"+rowCount);

bTextField.setText("B"+rowCount);

}

});

panel.add(addButton);

final JButton updateButton = new JButton("修改"); //修改按鈕

updateButton.addActionListener(new ActionListener(){//添加事件

public void actionPerformed(ActionEvent e){

int selectedRow = table.getSelectedRow();//獲得選中行的索引

if(selectedRow!= -1) //是否存在選中行

{

//修改指定的值:

tableModel.setValueAt(aTextField.getText(), selectedRow, 0);

tableModel.setValueAt(bTextField.getText(), selectedRow, 1);

//table.setValueAt(arg0, arg1, arg2)

}

}

});

panel.add(updateButton);

final JButton delButton = new JButton("刪除");

delButton.addActionListener(new ActionListener(){//添加事件

public void actionPerformed(ActionEvent e){

int selectedRow = table.getSelectedRow();//獲得選中行的索引

if(selectedRow!=-1) //存在選中行

{

tableModel.removeRow(selectedRow); //刪除行

}

}

});

panel.add(delButton);

}

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

JTableDefaultTableModelTest jTableDefaultTableModelTest = new JTableDefaultTableModelTest();

jTableDefaultTableModelTest.setVisible(true);

}

}

網(wǎng)頁名稱:java表格行代碼 javagui表格
網(wǎng)站地址:http://www.muchs.cn/article28/doeojjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司、搜索引擎優(yōu)化、用戶體驗網(wǎng)站建設(shè)、面包屑導(dǎo)航、品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化