这是我的表类
package build;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
public class Table
{
private ArrayList<Column> columns;
private String NAME;
private static int count=0;
public Table()
{
setColumns(new ArrayList<Column>());
NAME=new String();
this.NAME="Table"+count;
count++;
}
public void AddColumn(Column column)
{
for(Column c: getColumns())
{
if(c.getname().equals(column.getname())){return;}
}
getColumns().add(column);
}
public int getCount(){return count;}
public void SaveToFile() throws IOException
{
FileWriter fw = new FileWriter("C:/Users/Ashad/Desktop/text.txt", true);
BufferedWriter bw = new BufferedWriter(fw);
bw.write("\r\n");
bw.write(this.NAME);
bw.write("\r\n");
for(Column c: getColumns())
{
bw.write("\r\n");
bw.write(c.getname()+" ");
bw.write(c.getdatatype()+" ");
if(c.getPK()== true)
{
bw.write("true"+" ");
}
else
{ bw.write("false"+" ");
}
if(c.getNN()== true)
{
bw.write("true"+" ");
}
else
{bw.write("false"+" "); }
}
bw.close();
}
public boolean DeleteColumn(String name)
{
for (Column c : getColumns())
{
if (c.getname().equals(name)) {return getColumns().remove(c);}
}
return false;
}
public void viewColumns()
{
System.out.append(NAME+" ");
for(Column c: getColumns())
{
System.out.append("\n");
System.out.append(c.getname()+" ");
System.out.append( c.getdatatype()+" ");
if(c.getPK()== true)
{
System.out.print(true);
}
else
System.out.print(false);
}
}
public String getNAME() {
return NAME;
}
public ArrayList<Column> getColumns() {
return columns;
}
public void setColumns(ArrayList<Column> columns) {
this.columns = columns;
}
}
table.setModel(new DefaultTableModel(
new Object[][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
},
new String[] {
"Column Name", "Data Type", "NN", "PK"
}
) {
Class[] columnTypes = new Class[] {
String.class, Object.class, Boolean.class, Boolean.class
};
public Class getColumnClass(int columnIndex) {
return columnTypes[columnIndex];
}
btnNewButton.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e) {
// getTable Values
for (int r = 0; r < model.getRowCount(); r++)
{
if((String)model.getValueAt(r, 0) != null)
{
Column col=new Column();
col.setname((String) model.getValueAt(r, 0)) ;
col.setdatatype((String) model.getValueAt(r, 1));
/* if((Boolean)model.getValueAt(r, 2)== true)
{
col.setPK(true);
}
if((Boolean)model.getValueAt(r, 3)== true)
{
col.setNN(true);
}
*/
T.AddColumn(col);
}
else
break;
}
try {
T.SaveToFile();
} catch (IOException e1) {
e1.printStackTrace();
}
T.viewColumns();
frame.setVisible(false);
}
});
如果((布尔)model.getValueat(r,3)==true){col.setpk(true);}
它给出错误,因为返回类型是布尔型。
它不保存最后一个值
也许表停止编辑会有所帮助。
我有个问题。。。代码运行正常,但无法获取最后一行和最后一列的最后一个单元格的值。下面是代码。。。请引导 使用此代码,我动态地向JTable添加行:if(e.getSource()==addb){ 下面是从JTable行以及以后而不是系统中获取值的代码。出来println()我将向数据库发送数据。。。
问题内容: 我有一个pojo,尝试将csv文件中的数据读取到列表中,然后将其打印出来。从文件读取工作正常,在读取/添加的瞬间,我可以看到正确的ID,但是一旦尝试将其全部打印回来,我只会得到列表的最后一个元素。以下是我正在尝试的: 我从上面得到的输出是: 团队编号为:1 团队编号为:2 团队编号为:3 团队编号为:4 球队信息:4 球队信息:4 球队信息:4 球队信息:4 我想念什么..?为什么前三
我在创造一个小游戏。所以现在我有了一个只有5行的JTable。 单击按钮后,我希望保存表中的值。我的问题是,最后一个值每次都为null。 例 Val来自表:user1,user2,user3,user4,user5 预期输出:[user1,user2,user3,user4,user5] 输出:[user1,user2,user3,user4,null] 这就是我从表中获取数据的方式 可运行示例
我有一个jtable保存账本文件记录并将它们发送出去。
我正在尝试使用load_工作簿方法读取xlsx,它运行得相当好。但是,如果列中有空单元格,并且工作簿加载了“使用迭代器或只读”选项集,则rows()方法会在该列中的每个原始单元格值之后向输出中添加一个“无”值。如果数据范围内的列中没有空单元格,则没有问题。 请在下面找到这段代码和我正在阅读的excel文件的数据: Excel文件:book1.xlsx 数据范围:(A列,第1-7行) 空电池 1个
问题内容: 你们真是太棒了,为我在最后一个问题上指明了正确的方向,我在这里对我原来的问题进行了扩展: 如何将JTable列设置为String并排序为Double? 由于现在我使用自定义单元格渲染器将价格列的格式设置为$ ###,## 0.00,因此我现在还为该单元格设置了JTextField编辑器。单元格的编辑工作正常,除了更新值时,自定义渲染器中设置的数字格式似乎不再格式化单元格(在提交编辑后,