본문 바로가기

JavaFX

(43)
[JavaFX] com sun javafx css parser CSSParser declaration com.sun.javafx.css.parser.CSSParser.declaration 경고: CSS Error parsing '{} : Expected COLON at [] 에러 발생 private TableColumn col1; col1.getStyleClass().add("className");
[JavaFX] 자바FX + Hibernate - ids for this class must be manually assigned before calling save() 에러 JavaFX + Hibernate 를 사용하다 에러 발생 ids for this class must be manually assigned before calling save() 위와 같은 에러가 발생하면 등록하려면 Entity의 key값이 없거나, 길이나 컬럼의 type이 달라 발생할 수 있으니 null값, length 등을 먼저 확인해봐야한다.
JavaFX + Hibernate 제네릭 CRUD 인터페이스 구현하기 JavaFX + Hibernate 제네릭 CRUD 와 DAO 구현 GenericHibernateDAO 구현 클라이언트가 DAO 를 사용하기 전에 Session을 설정하지 않았으면 DAO 코드에서 Session이 필요할 때 Session을 가져온다. public abstract class GenericHibernateDAO implements GenericDAO{ private Session session; private final Class persistentClass; @SuppressWarnings("unchecked") public GenericHibernateDAO(){ this.persistentClass = (Class) ((ParameterizedType) getClass().getGener..
[JavaFX] 자바 FX Not on FX application thread; currentThread = Thread - 7 FX Not on FX application thread; currentThread = Thread - 7 에러 해결 JavaFX + Scenebuilder 를 사용해여 개발하던 중 FX Not on FX application thread; currentThread = Thread - 7 에러가 발생했다. Thread 를 사용해서 fxml의 UI 를 변경할때 발생한 에러인데 JavaFX에서 JavaFX Application Thread가 UI를 담당하는데 Thread에서 UI를 변경하게 되면 Exception in thread "Thread-7" java.lang.IllegalStateException: FX Not on FX application thread; currentThread = Thread ..
[JavaFX] 자바FX Task ProgressBar 팝업 만들기 JavaFX ProgressBar 데이터 처리과정을 보여줄 progressbar 를 만들기 ProgressBar 팝업 모듈 ProgressBarPopup 모듈을 만든다. 컨트롤러에서 ProgressBarPopup 객체를 생성해서 데이터 처리 과정 프로세스를 실행할 것이다. public class ProgressBarPopup { private final Stage stage; private final ProgressBar pb = new ProgressBar(); Label label = new Label(); public ProgressBarPopup(){ stage = new Stage(); stage.initStyle(StageStyle.UTILITY); stage.setResizable(false..
[JavaFX] 자바fx background image styleClass로 변경 background image 설정하기 fxml Button 설정 -fx-background-image: 백그라운드 이미지를 넣는다. -fx-background-radius: 버튼의 모서리를 각지게 만든다. -fx-background-position: 백그라운드 이미지의 가로, 세로 위치를 설정한다. -fx-background-repeat: 백그라운드 반복을 설정한다. 아쉬운 점은 백그라운드 이미지의 포지션을 내 마음대로 설정할 수가 없다. 웹처럼 백그라운드 포지션의 x, y 좌표를 설정할 수 없고, top, center, left, right 값으로만 설정이 가능하다. .btnCss{ -fx-background-color:linear-gradient("#ccc, #ddd"); -fx-background..
[JavaFX] 자바fx 팝업창 모달로 부모창 선택 못하게 initOwner, initModality, Modality 팝업화면을 띄울 때 부모창이 선택 안되게 하기 javafx 에서 initOwner 메소드를 사용해서 부모창에서 모달을 띄울 때 부모창이 선택 안되게 할 수 있다. initOwner 메소드를 사용하는 방법 initModality 메소드를 사용하는 방법 fxml에서 fx:id 로 anchorpane을 만든다. ... fxml에서 fx:id의 값을 선언한다. @FXML private AnchorPane anchorPane; popupOpen 메소드에서 팝업을 호출한다. initOwner 메소드로 부모창의 window를 입력한다. initModality 메소드의 Modality.WINDOW_MODAL 로 모달창이 부모창을 선택할 수 없도록 한다. Modality 는 enum 으로 NONE, WINDOW_MODA..
[JavaFX] 자바fx 화면 생성과 동시에 팝업(모달) 띄우기 Platform.runLater 자바fx로 개발하면서 화면이 생성됨과 동시에 팝업을 띄워야 할때가 있다. 그냥 팝업만 띄우면 상관 없지만 팝업을 띄운 후 부모창을 선택할 수 없게 하려고 한다면 initOwer을 사용하면 될것이다. 하지만 initOwer을 사용하려면 부모창의 scene을 넘겨줘야 하는데, fxml로 화면을 생성하고 fxml에서 anchor등의 객체를 가져오기 전에 팝업을 호출하기 때문에 에러가 발생한다. 이때 사용할 수 있는 방법이 Platform.runLater 이다. @FXML private AnchorPane anchor; private void popup(){ Platform.runLater(new Runnable(){ @Override public void run(){ try{ Parent root = FXML..