表格的实现 请问有Java实现就像Excel那样的表格的简单例子吗?只要能动态增减表格的行和列就好,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 swing可以啊如何 bs的话 很多js框架可以帮你完成 比如extjs http://www.blogjava.net/phe441/archive/2006/12/12/87326.html木有研究过,希望对LZ有用 DefaultTableModel mdl = new DefaultTableModel();JTable tbl = new JTable(mdl);...mdl.addRow(Object[] rowData);//增加行mdl.removeRow(int row);//删除行mdl.addColumn(Object columnName, Object[] columnData) //删除列tbl.addColumn(TableColumn aColumn)//删除列tbl.removeColumn(TableColumn aColumn)//删除列注意下tbl和mdl之间的index关系,因为JTable默认支持列拖动。 用jxl对excel进行操作,你可以看下这个例子http://download.csdn.net/source/2160969 他要的不是处理excel,而是java中提供的表格控件,package coreJava;import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JPanel;import javax.swing.JFrame;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.JButton;import javax.swing.table.DefaultTableModel;public class Test extends JFrame { private JPanel jContentPane = null; private JScrollPane jScrollPane = null; private JTable viewtable = null; private JButton jButton = null; //建立一个模型,之后的表将在建立在模型下,或者说是以模型为一个基本模板; DefaultTableModel dtm = null; //表中表头名; String[] columnNames = { "First Name", "Last Name", "Sport", "# of Years", "Vegetarian" }; //表中数据; Object[][] data = { { "Mary", "Campione", "Snowboarding", new Integer(5), new Boolean(false) }, { "Alison", "Huml", "Rowing", new Integer(3), new Boolean(true) }, { "Kathy", "Walrath", "Knitting", new Integer(2), new Boolean(false) }, { "Sharon", "Zakhour", "Speed reading", new Integer(20), new Boolean(true) }, { "Philip", "Milne", "Pool", new Integer(10), new Boolean(false) } }; /** * This method initializes jScrollPane * * @return javax.swing.JScrollPane */ //使用JTABLE ON JSCROLLPANE控件; private JScrollPane getJScrollPane() { if (jScrollPane == null) { jScrollPane = new JScrollPane(); jScrollPane.setBounds(new java.awt.Rectangle(40,40,650,200)); jScrollPane.setViewportView(getViewtable()); } return jScrollPane; } /** * This method initializes viewtable * * @return javax.swing.JTable */ //初始化表; private JTable getViewtable() { if (viewtable == null) { viewtable = new JTable(); //将表头和数据放入模型中; dtm=new DefaultTableModel(data,columnNames); //用模型建立表; viewtable=new JTable(dtm); } return viewtable; } /** * This method initializes jButton * * @return javax.swing.JButton */ private JButton getJButton() { if (jButton == null) { jButton = new JButton(); jButton.setText("del"); jButton.setBounds(new java.awt.Rectangle(289,316,165,28)); jButton.addActionListener(new ActionListener(){ public void actionPerformed (ActionEvent e){ int numrow=viewtable.getSelectedRows().length; for (int i=0;i<numrow;i++){ dtm.removeRow(viewtable.getSelectedRow()); } } }); } return jButton; } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Test test = new Test(); test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); test.setVisible(true); } /** * This is the default constructor */ public Test() { super(); initialize(); } /** * This method initializes this * * @return void */ private void initialize() { this.setSize(772, 500); this.setContentPane(getJContentPane()); this.setTitle("JFrame"); } /** * This method initializes jContentPane * * @return javax.swing.JPanel */ private JPanel getJContentPane() { if (jContentPane == null) { jContentPane = new JPanel(); jContentPane.setLayout(null); jContentPane.add(getJScrollPane(), null); jContentPane.add(getJButton(), null); } return jContentPane; }} // @jve:decl-index=0:visual-constraint="10,10" SWING实现的话就用JTable,WEB实现的话应该用控件了吧。昨天看过别人发过两个连接,都是关于控件的,你看下有帮助否!http://examples.coolite.com/Examples/GridPanel/Commands/Menu_Row_Command/http://www.scriptlover.com/controls/main.html 不是说是先Excel,而是能够简单的构造出表格而且能够动态增减还能够列就行。 这个就是TableModel接口的功能,你按照自己的需求实现一个技术上根本不难做,只要有钱,在找点有经验的人。难做的是推广和占有率。我毕业设计里面,包含过一个swing版的spreadsheet,虽然现在看很幼稚,但是excel的常用功能都有了。 如果是web的话,建议使用Apache-POI去实现。 看我写的,是如何构建JList,以及如何来删除某个item的。import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.DefaultListModel;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JList;import javax.swing.JPanel;import javax.swing.JScrollPane;public class TestList extends JFrame { private JPanel jContentPane = null; private JScrollPane jScrollPane = null; private JList viewtable = null; private JButton jButton = null; // 建立一个模型,之后的表将在建立在模型下,或者说是以模型为一个基本模板; DefaultListModel dtm = null; /** * This method initializes jScrollPane * * @return javax.swing.JScrollPane */ // 使用JTABLE ON JSCROLLPANE控件; private JScrollPane getJScrollPane() { if (jScrollPane == null) { jScrollPane = new JScrollPane(); jScrollPane.setBounds(new java.awt.Rectangle(40, 40, 650, 200)); jScrollPane.setViewportView(getViewtable()); } return jScrollPane; } /** * This method initializes viewtable * * @return javax.swing.JTable */ // 初始化表; private JList getViewtable() { if (viewtable == null) { viewtable = new JList(); dtm = new DefaultListModel(); dtm.addElement("hello"); dtm.addElement("zhtsuc"); dtm.addElement("zhtsuc_second"); // 用模型建立表; viewtable = new JList(dtm); } return viewtable; } /** * This method initializes jButton * * @return javax.swing.JButton */ private JButton getJButton() { if (jButton == null) { jButton = new JButton(); jButton.setText("del"); jButton.setBounds(new java.awt.Rectangle(289, 316, 165, 28)); jButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { int numrow = viewtable.getSelectedValues().length; Object[] objs = viewtable.getSelectedValues(); for (int i = 0; i < numrow; i++) { dtm.removeElement(objs[i]); } } }); } return jButton; } /** * @param args */ public static void main(String[] args) { TestList test = new TestList(); test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); test.setVisible(true); } /** * This is the default constructor */ public TestList() { super(); initialize(); } /** * This method initializes this * * @return void */ private void initialize() { this.setSize(772, 500); this.setContentPane(getJContentPane()); this.setTitle("JFrame"); } /** * This method initializes jContentPane * * @return javax.swing.JPanel */ private JPanel getJContentPane() { if (jContentPane == null) { jContentPane = new JPanel(); jContentPane.setLayout(null); jContentPane.add(getJScrollPane(), null); jContentPane.add(getJButton(), null); } return jContentPane; }} http://blog.csdn.net/guyu520/archive/2008/01/01/2007587.aspx这个就是讲java 表格的 数据库中的词频统计 JFrame 进程优先级 关于一道SCJP考试题目,序列化的问题。 关于初学java中equals的一个问题 跪求解决使用eclipse3.2存在的严重问题(50分全给) JDBC查询数据库问题,我是新手,请教各位,谢! 数据库应用方面问题 static 应该不可以用在类的前面吧?我试了一下也不可以。 我在网上当了一个jbuilder5 ,慢的要死,这是怎没回事??? win7系统(64位的)jdic.dll 为什么我的这个java程序不能执行?? java 应用软件开发问题
如何 bs的话 很多js框架可以帮你完成 比如extjs
木有研究过,希望对LZ有用
JTable tbl = new JTable(mdl);
...
mdl.addRow(Object[] rowData);//增加行
mdl.removeRow(int row);//删除行
mdl.addColumn(Object columnName, Object[] columnData) //删除列
tbl.addColumn(TableColumn aColumn)//删除列
tbl.removeColumn(TableColumn aColumn)//删除列注意下tbl和mdl之间的index关系,因为JTable默认支持列拖动。
http://download.csdn.net/source/2160969
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JButton;
import javax.swing.table.DefaultTableModel;public class Test extends JFrame { private JPanel jContentPane = null;
private JScrollPane jScrollPane = null;
private JTable viewtable = null;
private JButton jButton = null;
//建立一个模型,之后的表将在建立在模型下,或者说是以模型为一个基本模板;
DefaultTableModel dtm = null; //表中表头名;
String[] columnNames = { "First Name", "Last Name", "Sport", "# of Years",
"Vegetarian" }; //表中数据;
Object[][] data = {
{ "Mary", "Campione", "Snowboarding", new Integer(5),
new Boolean(false) },
{ "Alison", "Huml", "Rowing", new Integer(3), new Boolean(true) },
{ "Kathy", "Walrath", "Knitting", new Integer(2),
new Boolean(false) },
{ "Sharon", "Zakhour", "Speed reading", new Integer(20),
new Boolean(true) },
{ "Philip", "Milne", "Pool", new Integer(10), new Boolean(false) } }; /**
* This method initializes jScrollPane
*
* @return javax.swing.JScrollPane
*/ //使用JTABLE ON JSCROLLPANE控件;
private JScrollPane getJScrollPane() {
if (jScrollPane == null) {
jScrollPane = new JScrollPane();
jScrollPane.setBounds(new java.awt.Rectangle(40,40,650,200));
jScrollPane.setViewportView(getViewtable());
}
return jScrollPane;
} /**
* This method initializes viewtable
*
* @return javax.swing.JTable
*/
//初始化表;
private JTable getViewtable() {
if (viewtable == null) {
viewtable = new JTable();
//将表头和数据放入模型中;
dtm=new DefaultTableModel(data,columnNames);
//用模型建立表;
viewtable=new JTable(dtm);
}
return viewtable;
} /**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setText("del");
jButton.setBounds(new java.awt.Rectangle(289,316,165,28)); jButton.addActionListener(new ActionListener(){ public void actionPerformed (ActionEvent e){
int numrow=viewtable.getSelectedRows().length;
for (int i=0;i<numrow;i++){
dtm.removeRow(viewtable.getSelectedRow());
}
}
});
}
return jButton;
} /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Test test = new Test();
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
test.setVisible(true);
} /**
* This is the default constructor
*/
public Test() {
super();
initialize();
} /**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(772, 500);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
} /**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getJScrollPane(), null);
jContentPane.add(getJButton(), null);
}
return jContentPane;
}} // @jve:decl-index=0:visual-constraint="10,10"
就行。
技术上根本不难做,只要有钱,在找点有经验的人。难做的是推广和占有率。我毕业设计里面,包含过一个swing版的spreadsheet,虽然现在看很幼稚,但是excel的常用功能都有了。
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;public class TestList extends JFrame { private JPanel jContentPane = null;
private JScrollPane jScrollPane = null;
private JList viewtable = null;
private JButton jButton = null;
// 建立一个模型,之后的表将在建立在模型下,或者说是以模型为一个基本模板;
DefaultListModel dtm = null;
/**
* This method initializes jScrollPane
*
* @return javax.swing.JScrollPane
*/ // 使用JTABLE ON JSCROLLPANE控件;
private JScrollPane getJScrollPane() {
if (jScrollPane == null) {
jScrollPane = new JScrollPane();
jScrollPane.setBounds(new java.awt.Rectangle(40, 40, 650, 200));
jScrollPane.setViewportView(getViewtable());
}
return jScrollPane;
} /**
* This method initializes viewtable
*
* @return javax.swing.JTable
*/
// 初始化表;
private JList getViewtable() {
if (viewtable == null) {
viewtable = new JList();
dtm = new DefaultListModel();
dtm.addElement("hello");
dtm.addElement("zhtsuc");
dtm.addElement("zhtsuc_second");
// 用模型建立表;
viewtable = new JList(dtm);
}
return viewtable;
} /**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setText("del");
jButton.setBounds(new java.awt.Rectangle(289, 316, 165, 28)); jButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {
int numrow = viewtable.getSelectedValues().length;
Object[] objs = viewtable.getSelectedValues();
for (int i = 0; i < numrow; i++) {
dtm.removeElement(objs[i]);
} }
});
}
return jButton;
} /**
* @param args
*/
public static void main(String[] args) {
TestList test = new TestList();
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
test.setVisible(true); } /**
* This is the default constructor
*/
public TestList() {
super();
initialize(); } /**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(772, 500);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
} /**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getJScrollPane(), null);
jContentPane.add(getJButton(), null);
}
return jContentPane;
}}