<root.fxml>
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.text.*?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.AnchorPane?>
<AnchorPane xmlns="http://javafx.com/javafx/8"
xmlns:fx="http://javafx.com/fxml/1" fx:controller="todaymission.Rootcontroller">
<children>
<AnchorPane layoutY="3.0" prefHeight="458.0" prefWidth="497.0">
<children>
<Label contentDisplay="TOP" layoutX="79.0" layoutY="29.0" prefHeight="27.0" prefWidth="340.0"
text="Employees Infromation Program " textOverrun="CENTER_ELLIPSIS" underline="true">
<font>
<Font name="Bell MT Bold" size="23.0" />
</font>
</Label>
<Label layoutX="33.0" layoutY="112.0" text="▶ Name">
<font>
<Font name="Bell MT Bold" size="18.0" />
</font>
</Label>
<Label layoutX="33.0" layoutY="169.0" text="▶ Job ID">
<font>
<Font name="Bell MT Bold" size="18.0" />
</font>
</Label>
<Label layoutX="33.0" layoutY="229.0" text="▶ Email Address">
<font>
<Font name="Bell MT Bold" size="18.0" />
</font>
</Label>
<Label layoutX="33.0" layoutY="297.0" text="▶ Phone Number">
<font>
<Font name="Bell MT Bold" size="18.0" />
</font>
</Label>
<TextField fx:id="tf1" layoutX="140.0" layoutY="111.0" prefHeight="23.0" prefWidth="161.0" />
<TextField fx:id="tf2" layoutX="140.0" layoutY="168.0" prefHeight="23.0" prefWidth="161.0" />
<TextField fx:id="tf3" layoutX="52.0" layoutY="260.0" prefHeight="23.0" prefWidth="161.0" />
<TextField fx:id="tf4" layoutX="52.0" layoutY="327.0" prefHeight="23.0" prefWidth="161.0" />
<Button fx:id="bts1" blendMode="EXCLUSION" layoutX="269.0" layoutY="257.0"
mnemonicParsing="false" prefHeight="29.0" prefWidth="77.0" text="Search">
<font>
<Font name="Book Antiqua Bold" size="15.0" />
</font>
</Button>
<Button fx:id="bti2" blendMode="EXCLUSION" layoutX="269.0" layoutY="309.0"
mnemonicParsing="false" prefHeight="29.0" prefWidth="77.0" text="Insert">
<font>
<Font name="Book Antiqua Bold" size="15.0" />
</font>
</Button>
<Button fx:id="btu3" blendMode="EXCLUSION" layoutX="381.0" layoutY="257.0"
mnemonicParsing="false" prefHeight="29.0" prefWidth="77.0" text="Update">
<font>
<Font name="Book Antiqua Bold" size="15.0" />
</font>
</Button>
<Button fx:id="btr4" blendMode="EXCLUSION" layoutX="381.0" layoutY="309.0"
mnemonicParsing="false" prefHeight="29.0" prefWidth="77.0" text="Remove">
<font>
<Font name="Book Antiqua Bold" size="15.0" />
</font>
</Button>
<Button fx:id="btc5" blendMode="EXCLUSION" layoutX="381.0" layoutY="397.0"
mnemonicParsing="false" prefHeight="29.0" prefWidth="77.0" text="Cancle">
<font>
<Font name="Book Antiqua Bold" size="15.0" />
</font>
</Button>
</children>
</AnchorPane>
</children>
</AnchorPane>
<Rootcontroller> 클래스 : 버튼과 텍스트필드 설정하기
import java.net.URL;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import todaymission.Address;
import todaymission.AddressDao;
public class Rootcontroller implements Initializable {
@FXML private Button bts1;
@FXML private Button bti2;
@FXML private Button btu3;
@FXML private Button btr4;
@FXML private Button btc5;
@FXML private TextField tf1;
@FXML private TextField tf2;
@FXML private TextField tf3;
@FXML private TextField tf4;
AddressDao ad;
Address address;
@Override
public void initialize(URL location, ResourceBundle resources) {
ad = new AddressDao();
try {
ad.connect();
} catch (Exception e1) {
e1.printStackTrace();
}
bts1.setOnAction(e -> {
try {
handle1(e);
} catch (Exception e1) {
e1.printStackTrace();
}
});
bti2.setOnAction(e -> {
try {
handle2(e);
} catch (Exception e1) {
e1.printStackTrace();
}
});
btu3.setOnAction(e -> {
try {
handle3(e);
} catch (Exception e1) {
e1.printStackTrace();
}
});
btr4.setOnAction(e -> {
try {
handle4(e);
} catch (Exception e1) {
e1.printStackTrace();
}
});
btc5.setOnAction(e -> {
try {
handle5(e);
} catch (Exception e1) {
e1.printStackTrace();
}
});
}
private void handle1(ActionEvent e) throws NumberFormatException, SQLException {
Address address = ad.getAddress(tf1.getText());
tf1.setText(address.emp_name);
tf2.setText(address.emp_job);
tf3.setText(address.emp_email);
tf4.setText(address.emp_phone);
String name = tf1.getText();
System.out.println(name + " 사원의 정보를 조회합니다.");
}
private void handle2(ActionEvent e) throws SQLException {
Address address = new Address(tf1.getText(), tf2.getText(), tf3.getText(), tf4.getText());
ad.input(address);
String name = tf1.getText();
System.out.println(name + " 사원의 정보 추가를 완료했습니다.");
}
private void handle3(ActionEvent e) throws SQLException {
Address address = new Address(tf1.getText(), tf4.getText());
ad.update(address);
String name = tf1.getText();
System.out.println(name + " 사원의 정보 수정을 완료했습니다.");
}
private void handle4(ActionEvent e) throws SQLException {
Address address = new Address(tf2.getText(), tf3.getText(), tf4.getText());
ad.delete(address);
String job = tf2.getText();
System.out.println("[" + job + "] 부서의 사원 정보 삭제를 완료했습니다.");
}
private void handle5(ActionEvent e) {
System.out.println("프로그램을 종료합니다.");
}
}
<Appmain> 클래스 : 모든 기능을 구현하는 메인 클래스
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class Appmain extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage ps) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("root.fxml"));
Scene sc = new Scene(root);
ps.setTitle("사원 연락처 조회");
ps.setScene(sc);
ps.show();
}
}
<실행 결과>
'22.05.24~22.11.16 > Project' 카테고리의 다른 글
6월 Team Project 1. <투표 결과 조회 시스템 만들기> 2편 (0) | 2022.06.30 |
---|---|
6월 Team Project 1. <투표 결과 조회 시스템 만들기> 1편 (0) | 2022.06.28 |
6월 project 2 <eclipse에 oracle DB 불러와서 javafx로 사원 연락처 조회 프로그램 만들기> : 조회, 추가, 수정, 삭제 기능 구현 1편 (0) | 2022.06.27 |
6월 project 1 <생성자 선언, 메소드 호출, Scanner 사용해서 학생 점수표 만들기> (0) | 2022.06.03 |
5월 project <메인 윈도우 만들기> (0) | 2022.06.02 |