私は現在、書籍インベントリシステムを行っているので、ユーザーはリストに入力した後に本のコピー数を更新することができます。私はユーザーが最初に更新したいアイテムを検索させる。しかし、まず、各テキストフィールドに情報を表示し、それを更新します。私はすでにコードを書いたが、うまくいかなかった。テキストフィールドには何も表示されません。ここで何が問題なのか分かりますか?GUIでJavaを使用してリンクリストのデータを更新するにはどうすればよいですか?
これは私が情報を格納するために使用私のデータクラスです:
public class Data {
LinkedList list;
String name;
String author;
int isbn;
int number;
String genre;
public Data(String name, String author, int isbn, int number, String genre)
{
this.name = name;
this.author = author;
this.isbn = isbn;
this.number = number;
this.genre = genre;
}
public String toString()
{
return("Book Name: "+name+"\nAuthor: "+author+"\nISBN Number: "+isbn+"\nNumber of Copies: "+number+"\nGenre: "+genre+"\n\n");
}
public String getName()
{
return name;
}
public String getAuthor()
{
return author;
}
public int getIsbn()
{
return isbn;
}
public int getNumber()
{
return number;
}
public String getGenre()
{
return genre;
}
public void setNumber(int number)
{
this.number += number;
}
}
そして、これが私の更新方法であるとの情報方法を示しています。
public static void updatesearch(String sname, String name, String author, String genre, int isbn, int number, boolean found, int cnumber)
{
Node current = head;
if (current == null){
JOptionPane.showMessageDialog(null, "The list is empty.");
}
else{
while (current != null && !current.data.getName().equals(sname))
{
current = current.next;
}
if (current != null && current.data.getName().equals(sname)){
found = true;
name = current.data.getName();
author = current.data.getAuthor();
isbn = current.data.getIsbn();
number = current.data.getNumber();
genre = current.data.getGenre();
current.data.setNumber(cnumber);
}
else{
found = false;
JOptionPane.showMessageDialog(null,"The book was not found.");
}
}
}
public static void showinfo(String sname, String name, String author, String genre, int isbn, int number)
{
Node current = head;
if (current == null){
JOptionPane.showMessageDialog(null, "The list is empty.");
}
else{
while (current != null && !current.data.getName().equals(sname))
{
current = current.next;
}
if (current != null && current.data.getName().equals(sname)){
name = current.data.getName();
author = current.data.getAuthor();
isbn = current.data.getIsbn();
number = current.data.getNumber();
genre = current.data.getGenre();
}
else{
JOptionPane.showMessageDialog(null,"The book was not found.");
}
}
}
をそして、これは私がGUIで持っているものです。 (検索ボタンの下)
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String sname, name=null, author=null, genre=null;
int isbn=0, number=0;
sname = jTextField1.getText();
LinkedList.showinfo(sname.toUpperCase(), name, author, genre, isbn, number);
jTextField3.setText(name);
jTextField4.setText(author);
jTextField5.setText(String.valueOf(isbn));
jTextField6.setText(String.valueOf(number));
jTextField2.setText(genre);
}
これは、更新ボタンの下にある:
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
String sname, name=null, author=null, genre=null;
int isbn=0, number=0, cnumber;
boolean found=false;
sname = jTextField1.getText();
cnumber = Integer.parseInt(jTextField6.getText());
LinkedList.updatesearch(sname.toUpperCase(),name, author, genre, isbn, number, found, cnumber);
}
これは私の更新ページがどのように見えるかです:
誰もが私を助けることができますこの?ありがとうございました。
どうすれば変更できますか? LinkedListクラスのオブジェクトを作成しますか? 'LinkedList list = new LinkedList()'のように? – Acetamide