사용자가 체크박스를 통해 하나 이상의 옵션을 선택할 수 있는 그래픽 사용자 인터페이스(GUI)를 개발하고 있습니다. 선택한 각 옵션에 대해 GUI는 다음 작업을 순차적으로 수행해야 합니다.
- 파일 선택: 사용자가 선택한 옵션과 관련된 특정 파일을 선택할 수 있도록 파일 선택 대화 상자를 엽니다.
- 포맷 및 저장: 미리 정의된 기능을 사용하여 선택한 파일을 처리하여 데이터를 포맷하고 변경 사항을 저장합니다.
좋은 도움이 되었습니다:
여러 개의 체크박스가 동시에 선택된 시나리오를 처리하고, 선택된 각 옵션이 충돌 없이 연관된 기능을 독립적으로 트리거하도록 하는 데 도움이 필요합니다.
각 체크박스가 선택되었을 때 해당 기능을 실행하기 위해 이벤트 리스너를 설정하는 방법을 잘 모르겠습니다.
결과
- 사용자는 체크박스를 통해 하나 이상의 옵션을 선택할 수 있습니다.
- 선택 시, 체크된 각 상자에 대해:
- 사용자가 관련 파일을 선택할 수 있는 파일 선택 대화 상자가 나타납니다.
- 선택된 파일은 포맷팅 기능에 의해 처리됩니다.
- 형식이 지정된 데이터는 적절하게 저장됩니다.
- GUI는 반응성을 유지하고 작업 중, 작업 후에 피드백을 제공합니다.
지금까지의 코드를 도움이 필요한 곳에 주석과 함께 첨부했습니다. 또한 GUI에 대한 더 우아한 솔루션이 있다면 공유해 주십시오.
감사합니다
Names Default To Here( 1 );
directory_to_collect_data_table = "/C:/Users/";
data_list = {"datatable_1 ", "datatable_2", "datatable_3"};
userInput_dt = Function( {},
dt = Pick File(
"3. Pick Up Data Table_Total#1",
directory_to_collect_data_table,
{"JMP Files|jmp;jsl;jrn", "All Files|*"},
1,
0,
"",
"multiple"
);
Return( dt );
);
datatable_1func = Function( {dt},
dt << New Column( "label",
Character, // The new column will store character values
Formula(
"D" || Substitute( :Extracted_Data, "A", "" ) // Prepend "D" and remove "A"
)
);
dt << Column( "Extracted_Data" ) << Hide( 1 );
dt:ROW1 << Data Type( Character );
final_data1 = Data Table( "final_data" );
);
// GUI for selecting and merging files
Userinput_1 = New Window(
Panel Box( "Select the datatable",
Check Box( data_list ),
Button Box( "Select Files", Userinput_1//add functionality
//add functionality if datatable_1 is selected then call function datatable_1func ( datatable_1 );
//whichever check box is selected accordingly a function is called
)
)
)
);<< get selected를 사용하여 선택된 항목을 가져올 수 있습니다(또는 값이 아닌 인덱스만 원하는 경우 << get selected indices). 그런 다음 선택 목록을 반복하고 작업을 수행합니다.
Names Default To Here(1);
nw = New Window("Example",
cb = Check Box(
{"One", "Two", "Three"}
),
Button Box("Go",
For Each({sel}, cb << get selected,
Match(sel,
"One", Show("FIRST"),
"Two", Show("SECOND"),
"Three", Show("THIRD")
);
);
);
);
새 창문을 위한 디스플레이 상자 구성(jmp.com)
체크 박스에 함수를 연결할 수 있습니다. 사용자가 체크 박스와 상호 작용할 때마다 호출됩니다. 도움말 > 스크립팅 인덱스를 참조하세요.
