본문 바로가기

JavaFX

(43)
[JavaFX] 자바 FX CSS 디자인 종류 및 정리(feat. TableView style) 자바 FX CSS 디자인 정리 자바 fx 개발에 CSS로 디자인 입힐 때 자주 사용하는 클래스 스타일을 정리해 봤다. border 스타일 -fx-border-color 경계선의 색상 -fx-border-insects 내부 경계선의 위치 -fx-border-radius border 모서리 부분의 원의 반지금 -fx-border-style 경계선 스타일 -fx-border-width 경계선 굵기 background 스타일 -fx-background-color 배경 색상 -fx-background-image 배경 이미지 -fx-background-position 배경 위치 -fx-background-repeat 배경 이미지 반복 여부 font 스타일 -fx-font-family 폰트 종류 -fx-font-si..
[JavaFX] 자바 fx ComboBox<T> key, value 값 설정? 자바 FX ComboBox ket, value 해결 방법 자바 FX로 개발 중 약간의 문제가 발생했다. ComboBox에 객체를 넣어서 목록에서 보여주는 값과 목록을 선택했을 때의 값을 다르게 해주고 싶었다. 그래서 DB에서 객체를 조회 후 ComboBox에 넣을 때 ComboBox에 key, value식으로 값을 넣어서 보이는 값과 선택할 때 value값을 다르게 해주고 싶었지만, ComboBox에는 두개의 값을 넣을 수 없었다. 그렇다고 객체를 그대로 넣게 되면 선택했을 때의 값을 객체에서 뽑아낼 수는 있지만, 목록에 보일때는 주소값으로 보이게 된다. 그래서 방법을 알아보다 이 상황에서 간단히 해결할 수 있는 방법을 알아냈다. ComboBox 에 DB에서 조회해온 객체를 그대로 add 해준다. 그럼 ..
[JavaFX] Hibernate Exception in thread JavaFX Application Thread xxx is not mapped [ FROM xxx] 에러 JavaFX Hibernate 매핑 에러 java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: user is not mapped [ FROM user] 에러가 발생했다. 에러만 봐서는 hibernate 매핑 문제인것 같다. DB의 테이블명이 user라서 UserVO객체에도 @Table에 user로 해주었는데도 에러가 발생했다. Query query = getSession().createQuery(" FROM user"); @Entity @Table(name="user") public class UserVO{ ... @Column(name="userName") private String name; ....
[JavaFX] JavaFX cannot set style once stage has been set visible 에러 로그인 화면과 업무 화면을 구분하면 로그인과 업무 화면의 스테이지 스타일을 다르게 해놨다. 로그인 화면은 stage.initStyle(StageStyle.undecorated) 업무화면은 stage.initStyle(StageStyle.DECORATED) 로그아웃으로 로그인 화면으로 이동할 때 cannot set style once stage has been set visible 에러가 발생 원인은 스테이지가 표시되면 스타일을 설정할 수 없다는 에러인 듯하다. 그래서 기존 스테이지를 close()로 닫고 새 스테이지를 생성해서 initStyle(StageStyle.UNDECORATED) 하니까 해결됐다. Stage s = (Stage) view.getScene().getWindow(); s.close()..
[JavaFX] JavaFX Hibernate log4j 설정 - SQL 파라미터 값 보기 Hibernate SQL 파라미터 값 확인 JavaFX또는 Java에서 Hibernate를 사용하여 DB에 값을 INSERT, UPDATE 할 때 파라미터를 넘기게 되는데 hibernate.cfg.xml에서 설정을 해서 Console에 SQL로그를 남길 수 있다. insert, update, select 쿼리는 Console에 찍히는데 파라미터 값은 나오지 않는다. insert User(id, name, phone) values(?, ?, ?) Hibernate를 잘 사용하려면 Console에 찍히는 쿼리를 계속 봐줘야 한다고 한다. 그래야 쿼리 튜닝도 가능하고 성능도 향상될 수 있지만, 쿼리 확인을 안 하고 Hibernate만 믿고 그냥 사용하게 되면 오히려 성능저하로 인해 사용을 안 하느니만 못하다고..
[JavaFX] JavaFX 하이버네이트 CRUD 데이터 저장 삭제 조회하기 JavaFX CRUD JavaFX에서 Hibernate를 사용하여 CRUD의 조회, 저장 삭제하는 방법을 알아보자. 데이터 조회 데이터 저장 데이터 삭제 Hibernate 세션 설정 커넥션 정보를 담고 있는 configuration으로 부터 정보를 가져와 sessionFactory를 생성한다. SessionFactory 를 하나의 인스턴스만 생성되서 사용하기 위해 아래와 같이 코딩한다. 하이버네이트로 저장, 삭제, 조회 할때 sessionFactory를 사용하게 된다. public class HibernateUtil { private static SessionFactory sessionFactory; static { try { sessionFactory = new Configuration().config..
[JavaFX] JavaFX 새 팝업창에 Parameter 데이터 전송 JavaFX에서 fxml으로 새창을 띄울때 파라미터도 같이 전달할 수 있다. 새 창 fxml 화면 fxml 컨트롤러 생성 후 TextField에 데이터 입력 부모 창에서 fxml 로드 후 파라미터 전송 새 창 popup.fxml 화면을 만든다. PopupController 클래스에서 데이터를 받아 TextField에 데이터 입력 public class PopupController implements Initializable { @FXML private TextField text; @Override public void initialize(URL location, ResourceBundle resources){ } public void initData(String data) { text.setText(da..
[JavaFX] JavaFX Popup 새 팝업창 띄우기 새로운 Popup창 띄우기 JavaFX에서 새 팝업창을 띄우기 위해 새로 띄울 팝업창을 fxml로 만들고 이를 불러와서 새창을 띄우려고 한다. Popup 객체를 사용하지 않고 새로운 Stage를 만들어서 개발하려 한다. fxml 팝업창 만들기 컨트롤러에서 fxml 파일 로그 버튼 이벤트 발생시 팝업창 호출 popup.fxml 팝업화면 popup.fxml을 띄울 컨트롤러 FXMLLoader 로 fxml 파일을 로드한다. Stage 를 새로 만든다. Scene을 Stage에 매핑한다. stage.show()로 팝업을 호출한다. @FXML private void registerAction() { try{ FXMLLoader loader = new FXMLLoader(getClass().getResource("..