2012-03-12 3 views
0

기본적으로 내가하고있는 일은 사용자가 테이블에 정보를 입력 할 수있는 jtable을 가지고 있기 때문에 텍스트 파일에 저장할 수 있기를 원합니다. 그러나 내가 실행하고있는 문제는 이것에 관한 것입니다.Jtables (배열 상수 initilaizers) Java

dataValues = {{number, owner, txtDate"}}; 
tableModel.addRow(dataValues); 

그러나 나는에 오류가 :

private static String dataValues[][]; 

나는 그래서 내가 할 수있는 그래서 이렇게 내 JTable의 행을 추가 할 수있는 모든 방법에 액세스 같이 dataValues를 선언 할 수 있도록하려면 "배열 상수는 초기화 프로그램에서만 사용할 수 있습니다."라는 dataValues 그리고 나는 그 의미가 정말로 이해하지 못합니다.

실제 메소드에서 이와 같은 변수를 선언하면 작동합니다.

String[][] dataValues = {{number, owner, txtDate}}; 

하지만 프로그램에서 아무 곳이나 액세스 할 수 있어야합니다. 그렇게 선언하면 나에게 도움이되지 않습니다.

미리 도움을 주셔서 감사합니다.

답변

1

:

static String[] row; 

이상 :

row = new String[]{"foo", "bar", "baz"}; 
1

"다음 링크에 설명 된대로 당신이 필요가있는 무엇을 TableModels의 관점에서 생각입니다 배열 상수는 초기화 프로그램에서만 사용할 수 있습니다. " - 자바 구문 오류입니다. 당신 수처럼되지 사용 문 : 나는 "= {...}는"그것의 유형 "이"무엇인지 "javac의"컴파일러 명확하지 않다로 생각

int[] a = new int [3]; 
a = {1,2,3}; 

. 특히 String과 같은 객체 배열을 처리 할 때.

그래서 허용 상수의 사용은

int[] a = {1,2,3}; 

또는 가능성

a = new int [] {1,2,3}; 

있습니다 위해야 당신이 정말로 당신이 뭘 하려는지 수행하려는 경우 유일한 방법. 자바 구문 오류 부분에 대한 그

dataValues = new String[][] {{"number", "owner", "txtDate"}}; 

: 은 본질적으로,이 코드의 모습 방법이다. JTable에 대한 내용은 @Stphane G의 대답을 따르십시오.