JavaFX 로그인 화면
- 윈도우 타이틀바를 없애고 로그인 화면만 보여준다.
- 로그인 화면 창을 드래그로 화면이동 한다.
메인 화면에서 login.fxml 화면을 호출한다.
이 때 StageStyle을 UNDECORATED 로 스테이지의 타이틀바, 확대, 축소, 닫기 버튼이 없는 화면으로 띄운다.
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
try{
Parent root = FXMLLoader.load(getClass().getResource("login.fxml"));
primaryStage.initStyle(StageStyle.UNDECORATED);
Scene scene = new Scene(root);
primaryStage.setScene(scene);
primaryStage.show();
} catch(Exception e){
}
}
public static void main(String[] args) {
lunch(args);
}
}
login.fxml 파일의 최상단 AnchorPane 의 fx:id 를 wrap로 변수명을 지정한다.
<AnchorPane fx:id = "wrap" fx:controller="LoginController>
</AnchorPane>
LoginController 에서 stageMove 함수로 화면이동을 설정한다.
public class LoginController implements Initializable{
@FXML private AnchorPane wrap;
private double x = 0;
private double y = 0;
@Override
public void initialize(URL location, ResourceBundle resources) {
stageMove();
}
/* 로그인 화면 이동 */
private void stageMove(){
wrap.setOnMousePressed((event) -> {
x = event.getSceneX();
y = event.getSceneY();
});
wrap.setOnMouseDragged((event) -> {
stage = (Stage) wrap.getScene().getWindow();
stage.setX(event.getScreenx() - x);
stage.setY(event.getScreenY() - y);
});
wrap.setOnMouseReleased((event) -> {
stage = (Stage) wrap.getScene().getWindow();
});
}
}
'JavaFX' 카테고리의 다른 글
[JavaFX] JPA Hibernate JDBC-90611:Specified column name was not found. - 컬럼명 (0) | 2020.07.21 |
---|---|
[JavaFX] TableView ChangeListener 마우스 클릭 없이 키보드 Event 조작 (0) | 2020.07.14 |
[JavaFX] 자바FX ComboBox Event 데이터 저장, 데이터 선택 (0) | 2020.07.06 |
[JavaFX] 자바FX + Hibernate CRUD 데이터 저장, 삭제, 업데이트 (0) | 2020.07.03 |
[JavFX] 자바FX Platform runLater 쓰레드 UI 변경 (0) | 2020.06.24 |