gpt4 book ai didi

java - 防止在Java中向JTable中添加重复数据

转载 作者:行者123 更新时间:2023-12-02 02:11:40 25 4
gpt4 key购买 nike

如何防止向 Jtable 添加重复数据。

This is my code.

try {
URL url = new URL("http://localhost:8080/webservice/rest/bdetails/get");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Accept", "application/json");

if (conn.getResponseCode() != 200) {
throw new RuntimeException("Failed : HTTP error code : "
+ conn.getResponseCode());
}

BufferedReader br = new BufferedReader(new InputStreamReader(
(conn.getInputStream())));

String output;
String json = "";
System.out.println("Output from Server .... \n");
while ((output = br.readLine()) != null) {
System.out.println(output);
json += output;
}

conn.disconnect();
java.lang.reflect.Type listType = new TypeToken<ArrayList<BDetails>>() {
}.getType();

List<BDetails> bList = new Gson().fromJson(json, listType);

for( BDetails adr : bList)
{
DefaultTableModel model = (DefaultTableModel) pTable.getModel();
Vector<String> row = new Vector<String>();
row.add(detail.getUserName());
row.add(detail.getFirstName());
row.add(detail.getLastName());
row.add(detail.getAddress();
model.addRow( row );
}
} catch (IOException | RuntimeException ex) {
System.out.println(ex);
}

当我运行此方法时,它将数据添加到表中。当我再次运行时,它将相同的数据添加到表中。它再次做同样的事情。我该如何解决这个问题?有谁能够帮助我?提前致谢。下面我添加了 BDetails 类。

BDetails Class

public class BDetails 
{
private String username;
private String firstName;
private String lastName;
private String address;

public BDetails() {
}

public BDetails(String username, String firstName, String lastName, String address) {
this.username = username;
this.firstName = firstName;
this.lastName = lastName;
this.address = address;
}

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getFirstName() {
return firstName;
}

public void setFirstName(String firstName) {
this.firstName = firstName;
}

public String getLastName() {
return lastName;
}

public void setLastName(String lastName) {
this.lastName = lastName;
}

public String getAddress() {
return address;
}

public void setAddress(String address) {
this.address = address;
}

最佳答案

你可以试试这个,

        java.lang.reflect.Type listType = new TypeToken<ArrayList<BDetails>>() {
}.getType();

List<BDetails> bList = new Gson().fromJson(json, listType);

DefaultTableModel model = (DefaultTableModel) pTable.getModel();
model.setRowCount(0);

for( BDetails adr : bList)
{

Vector<String> row = new Vector<String>();
row.add(detail.getUserName());
row.add(detail.getFirstName());
row.add(detail.getLastName());
row.add(detail.getAddress();
model.addRow( row );
}

model.setRowCount(0) 将在插入数据之前清除所有行。它对我有用。

关于java - 防止在Java中向JTable中添加重复数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49913635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com