LinkedList を含むコードがあります。以下
topic.read()
topic.delete() and
topic.send()
Topic と呼ばれる LinkedList のメソッドです。これらは GUI デザインに実装されています。メソッド
topic.read(name)
topic.send(text)
正常に動作していますが、
topic.delete(index)
私を投げている
IndexOutOfBoundsException
メソッドについて簡単に説明します。read(name) と send(text) は String パラメーターを取り、トピックとそのメッセージのリストを読み取り、受容的にトピックにメッセージを送信します。delete(index) は、インデックスで指定されたメッセージをトピックから削除する必要があります。ただし、サイズが 0 であるというエラー メッセージが表示されます。
関連するピース:(このピースで十分だと思います。必要に応じてさらにピースを追加します)
public void act(String s)
{
topic = new Topic(s, topics);
if (s.equals("Read"))
setEditorText(topic.read(readText()));
else if (s.equals("Delete"))
topic.delete(indexText());
else if (s.equals("Send"))
{
topic.send(getEditorText(), sendText());
clear();
}
}
これらをこの質問に追加しました:
private JTextField indexText = new JTextField(10);
public int indexText()
{
return Integer.parseInt(indexText.getText());
}
public class Topic {
private LinkedList<String> messages = new LinkedList<String>();
public void delete(int index)
{
messages.remove(index - 1);
}
}