2010-11-20 6 views
1

netbeans 6.9를 사용하여 독립형 Java 응용 프로그램을 만들었습니다. 내 응용 프로그램에서 사용자가 일부 옵션 (일부 특정 필드에 대한 값)을 선택하면 내 응용 프로그램은 자동으로 해당 코드를 생성합니다.이 코드는 내 응용 프로그램 자체의 텍스트 영역에 표시됩니다.
예 : 내 앱에 새 변수 버튼이 있습니다. 사용자가 클릭하면 변수 이름을 묻습니다. 이름을 입력하면 내 응용 프로그램에서 해당 코드를 자동으로 생성합니다.
하지만 사용자가 해당 코드를 편집 할 수있는 옵션이 필요합니다.
사용자가 변수 선언 코드를 텍스트 영역에 직접 입력하면 내 응용 프로그램이 해당 코드의 존재를 감지해야한다고 가정합니다.
내 응용 프로그램에서 나는 또한 모든 변수가 선언 된 것을 보여주는 콤보 박스가 있음을 의미합니다. 따라서 사용자가 코드를 입력하고 사용자가 코드를 작성한 새 변수가 앱에 저장되어있는 경우이 코드가 있어야합니다.
아무도 도와 드릴 수 있습니까?
- 미리 감사드립니다.코드에서 수행 된 변경 감지

+0

실제 질문은 무엇입니까? –

+0

내 실제 질문은 내 응용 프로그램에서 내 텍스트 영역에서 수행 된 변경 사항을 감지하고 이러한 변경 사항을 내 응용 프로그램에 통합하는 기능을 해당 응용 프로그램에 어떻게 제공해야 하는가입니다. – Antrromet

답변

0

Java에서 묻는 것을 할 수 있지만, Java는 아마도이 작업에 가장 적합한 언어가 아닙니다. 역동적 인 언어가 더 나을 것입니다. JVM에는 많은 수의 동적 언어가 있습니다. 아마도 Groovy는 Java와 비슷한 구문을 가지고 있기 때문에 적합 할 것입니다.

  1. 이 텍스트 영역의 내용을 포함하는 Java 소스 파일을 생성 : 옆

    면책에 당신이 원하는 것 당신이 자바로하고있는 할 수 있습니다. (실제로는 JavaFileManager 및 친구들의 구현을 만들어 메모리 내에서 수행 할 수 있습니다.)

  2. 해당 소스에서 Java compiler을 호출하십시오.
  3. 생성 된 바이트 코드를 ClassLoader으로로드하십시오.
+0

이것에 대해 더 설명해 주시겠습니까? JTextarea에서 텍스트를 동적으로 읽으려면 Groovy에서 정확히 사용해야합니다. 그리고 이해할 수있는 한, Antrromet이 Java 코드에 대해 이야기하지 않는다고 생각합니다. 코드 다른 언어 일 수도 있지만 응용 프로그램은 java를 사용하여 작성됩니다. –

+0

당신은 항상 "getText"또는 무엇이든 사용하는 것과 같은 방식으로 JTextarea에서 텍스트를 동적으로 읽습니다. 나는 Groovy를 사용한 적이 없기 때문에 어떤 세부 사항도 제공 할 수 없지만 대부분의 동적 언어는 텍스트를 가져 와서 평가하는 "평가"또는 유사한 기능을 가지고 있습니다. 질문의 소리를 통해 eval에 대한 호출 할 때마다 재사용되는 환경을 유지하고자하지만 질문의 애매 모호함을 감안할 때 그 이상의 구체적인 정보는 제공하기가 어렵습니다. 마찬가지로, Java 이외의 언어에 대한 언급은 없으므로 실제 요구 사항이 무엇인지 추측 할 수 있습니다. –