JTextFeild에있는 문자열의 상태를 읽는 클래스가 있습니다 (이 경우 displayBox는 클래스 임). 메서드는 상태를 읽어 ArrayList (이 경우에는 lastState)에 넣고 메서드가 호출 될 때 Jtext feild에 다시 넣을 수 있습니다 (이 경우 returnState) displayBox는 선언 된 Jtextfeild 클래스의 객체이며 다른 클래스에서 사용 (Calculator 클래스) 집 작업 과제에 대해 실행 취소 기능을 작성하려고합니다. 내 질문은 배열 날짜 가져 오기 및 설정에 대해 갈 수있는 올바른 방법입니다. 감사합니다. 코드는 다음과 같습니다 :JtextFeild의 항목을 ArrayList에 추가하고 다시 가져 오기
import java.util.*;
import java.awt.event.*;
import java.awt.*;
/**
* Write a description of class Status here.
*
* @author (Jason Sizemore)
* @version (HW09 11-21-09)
* This is a class to get the status for the undo feature
*/
public class Status extends Calculator
{
//attributes
private ArrayList<String> lastState;
public String ls;
public String rls;
//constructors
public Status()
{
super();
lastState = new ArrayList<String>(10);
}
//Methods
public void copyState()
{
ls = displayBox.getText();
lastState.add(ls);
System.out.println(ls);
}
public String returnState()
{
//problem is here
int sizeOfArrayList;
sizeOfArrayList = lastState.size();
rls = lastState.get(sizeOfArrayList);
return rls;
}
}
어떤 문제가 발생합니까? –
스레드 AWT-EventQueue-0에서 런타임 예외가 발생했습니다. java.lang.IndexOutOfBoundsException : 인덱스 : 3, 크기 : 0 –
Size_J 인덱스는 0부터 시작하는 카운터이므로 3 개의 요소 (size()가 3을 반환하는 경우) 0, 1, 2 이렇게 색인을 만들 수는 없으므로 .get (크기) .get (크기 -1) –