for (int v = 0; v < values1.size(); v++) {
values2.add(values1.get(v));
}
Object jFill[] = values2.toArray();
model.addRow(jFill);
谢谢你。
在这里,我的完整工作表模型工作,您可以添加行,移除行和更改值。
您可以轻松地向帧中添加:
protected MyTableModel mytableModel = new MyTableModel();
scroll = new JScrollPane(mytableModel);
table类:
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.DefaultListSelectionModel;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.JTableHeader;
import javax.swing.table.TableCellRenderer;
import org.apache.poi.ss.usermodel.Header;
class MyTableModel extends JPanel {
private static final int CHECK_COL = 5;
private static Object[][] DATA = { };
public static String[] COLUMNS = {"Col1","Col2","Col3","Col4","Col5", "Checkbox"};
protected DataModel dataModel = new DataModel(DATA, COLUMNS);
private JTable table = new JTable(dataModel);
private DefaultListSelectionModel selectionModel;
public MyTableModel(){
super(new BorderLayout());
this.add(new JScrollPane(table));
this.add(new ControlPanel(), BorderLayout.SOUTH);
table.setPreferredScrollableViewportSize(new Dimension(250, 175));
selectionModel = (DefaultListSelectionModel) table.getSelectionModel();
JTableHeader header = table.getTableHeader();
header.setDefaultRenderer(new HeaderRenderer(table));
}
private class DataModel extends DefaultTableModel {
public DataModel(Object[][] data, Object[] COLUMNS) {
super(data, COLUMNS);
}
@Override
public Class<?> getColumnClass(int columnIndex) {
if (columnIndex == CHECK_COL) {
return getValueAt(0, CHECK_COL).getClass();
}
return super.getColumnClass(columnIndex);
}
@Override
public boolean isCellEditable(int row, int column) {
if(column==CHECK_COL && !Main.checked)
return true;
return false;
}
}
private static class HeaderRenderer implements TableCellRenderer {
DefaultTableCellRenderer renderer;
public HeaderRenderer(JTable table) {
renderer = (DefaultTableCellRenderer)
table.getTableHeader().getDefaultRenderer();
renderer.setHorizontalAlignment(JLabel.CENTER);
}
@Override
public Component getTableCellRendererComponent(
JTable table, Object value, boolean isSelected,
boolean hasFocus, int row, int col) {
return renderer.getTableCellRendererComponent(
table, value, isSelected, hasFocus, row, col);
}
}
private class ControlPanel extends JPanel {
/**
*
*/
private static final long serialVersionUID = -7342459414751761853L;
public ControlPanel() {
// this.add(new JLabel("Selection:"));
// this.add(new JButton(new SelectionAction("Clear", false)));
// this.add(new JButton(new SelectionAction("Check", true)));
}
}
private class SelectionAction extends AbstractAction {
boolean value;
public SelectionAction(String name, boolean value) {
super(name);
this.value = value;
}
@Override
public void actionPerformed(ActionEvent e) {
for (int i = 0; i < dataModel.getRowCount(); i++) {
if (selectionModel.isSelectedIndex(i)) {
dataModel.setValueAt(value, i, CHECK_COL);
}
}
}
}
public void setValueAt_Cell(String val, int row, int col) {
// TODO Auto-generated method stub
if(row>=dataModel.getRowCount()){
dataModel.addRow(new Object[] {"","","","","",false});
}
dataModel.setValueAt(val, row, col);
}
public String getValAtPos(int row,int col) {
//System.out.println(dataModel.getValueAt(row, col));
if(row>=dataModel.getRowCount()){
return null;
}
return dataModel.getValueAt(row, col).toString();
}
public int getRowCount(){
return DATA.length;
}
public boolean get_checked_row(int row){
return (boolean) dataModel.getValueAt(row, 5);
}
public void clear() {
while(dataModel.getRowCount()!=0){
for(int i=0;i<dataModel.getRowCount();i++){
dataModel.removeRow(i);
}
dataModel.fireTableRowsDeleted(0, getRowCount());
dataModel.fireTableDataChanged();
}
}
}
问题内容: 我的Android应用程序需要使用中填充ListView数据ArrayList。 我这样做很麻烦。有人可以帮我提供代码吗? 问题答案: 你需要通过进行操作,以使ArrayList(或任何其他集合)适应布局中的项目(ListView,Spinner等)。 这是Android开发人员指南所说的: 一个管理任意对象数组支持的。默认情况下,此类期望提供的资源ID引用单个。如果要使用更复杂的布局
问题内容: 是否可以将值添加到ArrayList而不是使用HashMap 就像是: 现在收到错误: 谢谢 问题答案: JSTL并非旨在执行此类操作。这确实属于业务逻辑,该业务逻辑将(间接)由Servlet类控制。 创建一个如下的servlet: 这个地图上的。 现在,在其中创建一个JSP文件(将其放置以防止直接访问): 不需要,因为servlet已经设置了它。 现在通过调用servlet + JS
我正在为我的网站写一个聊天页面。我已经成功地设法向用户询问他们的名字,简单地说欢迎“username”。问题是,我还希望在聊天本身的名称输入框中使用相同的名称,而不是用户每次希望写消息时都必须输入自己的名称。我使用了onclick=来提示用户输入他们的名字,但我无法让它在名称框中显示该名字。 编辑:我发现,虽然javascript代码submit.php,但submit.php根本不显示:/
我正在尝试合并两个数据帧: 第一个数据帧,,用INTEGERS/STRINGS填充 左边的数据框一起被整数/列表填充。 当我使用pandas函数时,新的数据框将用NaN填充右侧的数据框,而不是列表 我期望使用两个原始数据帧中的值创建一个新的合并数据帧。相反,在新的数据框中,“control”数据框中的所有值都是正确的,但“together”数据框中的所有列表都是正确的 以下是一些样本数据: 以下是
我有2个xml配置文件,如下所示 app-context.xml: test-cache.xml
我习惯于使用Arraylist,下面您可以看到我为存储数据所做的尝试: 这就是我尝试过的,但遗憾的是,这并不奏效: 下面你可以找到我剩下的代码,但上面的一个应该足以让我清楚的想要做什么... } 我创建了Dao类,如下所示::- @DAO公共接口DeckBuilderDao{