본문 바로가기

JavaFX

(43)
[Java] SWT Table multi 테이블 다중선택 JAVA SWT table multi select Table table; Display display = new Display(); Shell shell = new Shell(display); table = new Table(shell, SWT.MULTI | SWT.FULL_SELECTION | SWT.CHECK | SWT.CENTER); table.getSelectionIndices(); table.getSelectionCount(); table.getSelectionIndex(); table 생성 시 SWT.MULTI로 테이블 다중선택 설정 getSelectionIndices() -> 선택된 테이블 index list getSelectionCount() -> 선택된 테이블 갯수 getSelection..
[JavaFX] KeyCode.ESCAPE esc 단축키 사용하기 JavaFX에서 ESC 키 이벤트 단축키 설정 최상위 anchorPane에 setOnkeyPressed 이벤트로 ESC 키 이벤트를 등록하면 텍스트, 콤보박스 등의 객체에서는 이벤트가 발생하지만, 테이블에 커서가 있을때는 이벤트가 작동하지 않는 상황이 발생한다. @FXML private AnchorPane anchorPane; @FXML private TableView table; public void addEventListener() { anchorPane.setOnKeyPressed(e -> { if(KeyCode.ESCAPE == e.getCode() { close(); } }); table.setOnKeyPressed(e -> { if(KeyCode.ESCAPE == e.getCode() { cl..
[JavaFX] TableView 페이징 순번 역순으로 표시하기 TableView 페이징 TableView 순번 역순으로 표시하기 TableView 컬럼 테이블에 100% 적용하기 TableView 컬럼 정렬 틀어지는 버그 수정 setColumnSize() 에서 컬럼의 너비를 테이블에 100%로 맞춘다. 이럴 경우 스크롤이 생길 때 테이블의 컬럼 헤더부분과 바디부분의 정렬이 틀어지게 된다. 그래서 데이터조회 후 테이블에 데이터를 넣고 table.refresh() 로 테이블을 refresh 해준다. Platform.runLater(() -> { table.refresh(); }); 넘버링을 순차적으로 하려면 col1.setCellValueFactory(param -> new ReadOnlyObjectWrapper(table.getItems().indexof(param...
[JavaFX] MenuItem setMnemonicParsing 단축키, SeparatorMenuItem 구분자 setMnemonicParsing - 파일 메뉴 단축키 설정 SeparatorMenuItem - 서브메뉴 구분 설정 Menu 생성 setMnemonicParsing 에 true로 설정 단축키로 사용할 키 값을 _키값 으로 설정하면 '_' 없이 메뉴 생성됨 메뉴(F), 메뉴(M), 메뉴(O) Alt + F, M, O 로 단축키 설정됨 서브메뉴에 라인으로 분리하고 싶으면 Menu 에 MenuItem을 add할 때 분리될 부분에 new SeparatorMenuitem() 으로 구분 메뉴(F) 메뉴(M) 메뉴(O) 서브메뉴1(S) 서브메뉴2(T) ------------ 로그아웃(X) Menu file1 = new Menu("메뉴(_F)"); Menu file2 = new Menu("메뉴(_M)"); Menu f..
[JavaFX] multiple key event Combination ctrl + s 단축키 사용 JavaFX 단축키 등록하기 JavaFX 에서 키보드를 이용하여 단축키를 사용하는 방법 3가지 setOnKeyPressed 를 이용하는 방법 @FXML private JFXTextField jfxTextField; public void addEventListener() { jfxTextField.setOnKeyPressed(new EventHandler() { @Override public void handle(KeyEvent ke) { if(ke.getCode() == KeyCode.ENTER) { System.out.println("Enter key"); } } } } KeyCombination을 이용하는 방법 @FXML private AnchorPane anchorPane; public void a..
[JavaFX] TreeTableView Key event - Row Delete JavaFX TreeTableView 키보드 Delete로 선택 row 삭제하기 TreeTableView 생성 [JavaFX] TreeTableView, JFXTableView 만들고 데이터 저장하기 JFXTableView, TreeTableView 만들기 기본 TreeTableView 사용법 최상위 root로 TreeItem rootTitle 을 생성 subTitle1을 생성하고 그 밑으로 Sub1_1, Sub1_2을 add 한다. 같은 방법으로 subTitle2를 생성한다. 최.. ohtanja.tistory.com Root 와 Sub 데이터를 삭제 KeyCode.DELETE로 키보드 이벤트 Root 데이터 삭제 - rootItem.getChildren().remove(); Sub 데이터 삭제 - R..
[JavaFX] TreeTableColumn에 TextField 넣고 변경하기 JavaFX TreeTableView 의 column에 TextField넣고 변경하기 사용자 entity 생성 @Entity @Data public class UserVO { private String id; private String name; } userTree 변수명으로 Tree 생성 colId, colName 컬럼명 생성 setOnEditCommit 이벤트로 TextField명을 변경했을 때의 이벤트 호출 @FXML private TreeTableView userTree; @FXML private TreeTableColumn colId, colName; private void treeSetting() { colName.setCellValueFactory(new TreeItemPropertyValu..
[JavaFX] Hibernate cannot be case to 오류 Exception in thread "JavaFX Application Thread" java.lang.ClassCastException: [Ljava.lang.Object; cannot be case to path JavaFX + Hibernate 오류 SQLQuery sqlQuery = getSession().createSQLQuery(sql.toString()); sqlQuery.addEntity(UserVO.class);