-
TextField
- 입력 필드
- TextField a;
a.getText ()
- a에 입력되어 있는 text값 가져옴
a.setText("텍스트")
- a에 텍스트값 입력
a.setPromptText("텍스트")
- a에 아무 것도 쓰여지지 않고, 선택 되지 않았을 때 회색으로 메세지를 표시
Button
Button b;
버튼도 setText, getText 사용가능
이벤트 핸들러
setOnAction와 EventHandler
- Button 컨트롤을 클릭했을 때의 이벤트는 "액션 이벤트"
-> setOnAction은 이렇게 작성하는게 일반적이다.
button.setOnAction(new EventHandler<ActionEvent>(){ @Override public void handle(ActionEvent e){ String msg = "aaaa"; a.setText(msg); } })
다른 방법
fx:id처럼 onAaction을 쓰면 @FXML로 해당 메소드 추가가능
주의할 점은 접근 제어자가 protected로 해야된다.
Scene 빌더로 작성한 코드에 onAction = "#doAction" 추가
<Button onAction="#doAction" text="Click" />
public class AppController { @FXML Label label; @FXML TextField field; @FXML protected void doAction(ActionEvent e){ String a = field.getText(); = "당신은 쓴 글은 '" + str + "' 이것입니다."; label1.setText(str); } }
다른 fx Scene에 있는 정보 가져와서 사용할 때
try { parent = FXMLLoader.load(getClass().getResource("zipCodeSearch.fxml")); } catch (IOException e) { e.printStackTrace(); } Scene scene = new Scene(parent); Stage dialog = new Stage(StageStyle.UTILITY); dialog.setTitle("우편번호 검색"); dialog.setScene(scene); dialog.show(); TableView<ZiptbVO> view = (TableView<ZiptbVO>) parent.lookup("#tableview"); view.setOnMouseClicked(e -> { String zip = view.getSelectionModel().getSelectedItem().getZipcode(); String gungu = view.getSelectionModel().getSelectedItem().getGugun(); String sido = view.getSelectionModel().getSelectedItem().getSido(); String dong = view.getSelectionModel().getSelectedItem().getDong(); txtf_insertZipCode.setText(zip); txtf_insertAddr.setText(gungu + " " + sido + " " + dong); dialog.close(); });
Parent parent로 변수하나 만들고 다른 fx파일 정보 저장
참조하려는 데이터 타입으로 변수하나 만들고 lookup으로 바라보기
해당 변수 그러면 view라는 변수로 다른 fx Scene의 변수 참조가능
db에서 읽어온 데이터 row만큼 imageView 생성하고 모달창 띄우기
ObservableList ol = hb.getChildren();
list.add(tf);
list.add(b);
ComboBox = cb = new ComboBox();
cb.setItems(
FXCollections.observableArrayList(
"Yes", "No"
)
);