это файл контроллера:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package aaaaaa;
import java.io.FileOutputStream;
import java.io.IOException;
import com.lowagie.text.Chunk;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.FontFactory;
import com.lowagie.text.Paragraph;
import com.lowagie.text.Phrase;
import com.lowagie.text.pdf.PdfWriter;
import com.lowagie.text.Cell;
import com.lowagie.text.Chunk;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Element;
import com.lowagie.text.Font;
import com.lowagie.text.FontFactory;
import com.lowagie.text.Paragraph;
import com.lowagie.text.Table;
import com.lowagie.text.pdf.PdfCell;
import com.lowagie.text.pdf.PdfPCell;
import com.lowagie.text.pdf.PdfPTable;
import com.lowagie.text.pdf.PdfWriter;
import java.awt.Color;
import java.awt.Component;
import java.awt.HeadlessException;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.ResourceBundle;
import java.util.function.Predicate;
import java.util.logging.Level;
import java.util.logging.Logger;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.collections.transformation.FilteredList;
import javafx.collections.transformation.SortedList;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.print.PrinterJob;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.input.KeyEvent;
import javafx.scene.input.MouseEvent;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ThirdController implements Initializable {
public class ThirdController implements Initializable {
// text fields
@FXML
private TextField txt_modifier,txt_nom,txt_prenom,txt_matricule,txt_departement,txt_mot_de_passe,txt_recherche ;
// bouttons
@FXML
private Button btn_ajouter,btn_modifier,btn_supprimer,btn_send_mail ;
@FXML
private Button btn_export_excel , btn_export_pdf ;
// redefinir tt les composants de fourth.fxml
@FXML
private TableView<utilisateur> table ;
@FXML
private TableColumn <utilisateur,String>nom,prenom,matricule,mot_de_passe,departement;
@FXML
private TableColumn <utilisateur,Integer> id ;
ObservableList oblist = FXCollections.observableArrayList ();
ArrayList<utilisateur> users = new ArrayList<utilisateur>();
@ FXML publi c void ajouter (ActionEvent ae) {
}
@ FXML publi c модификатор void (ActionEvent ae) {
}
@ FXML publi c void supprimer (ActionEvent ae) {
}
@ FXML publi c void chercher (ActionEvent ae) {
}
@ FXML publi c void export_pdf (ActionEvent ae) {
}
@ FXML publi c void export_excel (ActionEvent ae) {
}
@ F XML
public void send_mail(ActionEvent ae){
}
@ Override publi c void initialize (URL url, ResourceBundle rb) {
}}
и это мой файл f xml:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TableColumn?>
<?import javafx.scene.control.TableView?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.text.Font?>
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="641.0" prefWidth="1277.0" style="-fx-background-color: blueviolet;" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="aaaaaa.ThirdController">
<children>
<Button fx:id="btn_modifier" layoutX="253.0" layoutY="416.0" mnemonicParsing="false" onAction="#modifier" prefHeight="37.0" prefWidth="111.0" style="-fx-border-radius: 100; -fx-background-radius: 100;" text="modifier">
<font>
<Font name="Arial Bold" size="15.0" />
</font>
</Button>
<Button fx:id="btn_supprimer" layoutX="432.0" layoutY="416.0" mnemonicParsing="false" onAction="#supprimer" prefHeight="37.0" prefWidth="111.0" style="-fx-background-radius: 100;" text="supprimer">
<font>
<Font name="Arial Bold" size="15.0" />
</font>
</Button>
<Label layoutX="20.0" layoutY="114.0" prefHeight="17.0" prefWidth="132.0" text="nom">
<font>
<Font name="Arial Bold" size="15.0" />
</font>
</Label>
<Label layoutX="16.0" layoutY="164.0" prefHeight="17.0" prefWidth="132.0" text="prenom">
<font>
<Font name="Arial Bold" size="15.0" />
</font>
</Label>
<TextField fx:id="txt_nom" layoutX="155.0" layoutY="109.0" prefHeight="17.0" prefWidth="332.0" promptText="nom" style="-fx-background-radius: 100;">
<font>
<Font name="Arial Bold" size="15.0" />
</font>
</TextField>
<TextField fx:id="txt_prenom" layoutX="155.0" layoutY="159.0" prefHeight="25.0" prefWidth="332.0" promptText="prenom" style="-fx-background-radius: 100;">
<font>
<Font name="Arial Bold" size="15.0" />
</font>
</TextField>
<Label alignment="TOP_CENTER" layoutX="127.0" layoutY="20.0" prefHeight="37.0" prefWidth="326.0" text="gestion des utilisateurs">
<font>
<Font name="Bodoni MT Condensed Bold" size="30.0" />
</font>
</Label>
<Label layoutX="19.0" layoutY="216.0" prefHeight="17.0" prefWidth="122.0" text="matricule">
<font>
<Font name="Arial Bold" size="15.0" />
</font>
</Label>
<TextField fx:id="txt_matricule" layoutX="155.0" layoutY="211.0" prefHeight="25.0" prefWidth="332.0" promptText="matricule" style="-fx-background-radius: 100;">
<font>
<Font name="Arial Bold" size="15.0" />
</font>
</TextField>
<Label layoutX="19.0" layoutY="266.0" prefHeight="17.0" prefWidth="122.0" text="departement">
<font>
<Font name="Arial Bold" size="15.0" />
</font>
</Label>
<Label layoutX="14.0" layoutY="314.0" prefHeight="17.0" prefWidth="122.0" text="mot de passe">
<font>
<Font name="Arial Bold" size="15.0" />
</font>
</Label>
<TextField fx:id="txt_departement" layoutX="155.0" layoutY="261.0" prefHeight="25.0" prefWidth="332.0" promptText="departement" style="-fx-background-radius: 100;">
<font>
<Font name="Arial Bold" size="15.0" />
</font>
</TextField>
<TextField fx:id="txt_mot_de_passe" layoutX="155.0" layoutY="309.0" prefHeight="25.0" prefWidth="332.0" promptText="mot de passe" style="-fx-background-radius: 100;">
<font>
<Font name="Arial Bold" size="15.0" />
</font>
</TextField>
<Button fx:id="btn_ajouter" layoutX="64.0" layoutY="416.0" mnemonicParsing="false" onAction="#ajouter" prefHeight="37.0" prefWidth="111.0" style="-fx-border-radius: 100; -fx-background-radius: 100;" text="ajouter">
<font>
<Font name="Arial Bold" size="15.0" />
</font>
</Button>
<TextField fx:id="txt_modifier" layoutX="253.0" layoutY="57.0" prefHeight="17.0" prefWidth="332.0" promptText="matricule pour modifier ou supprimer" style="-fx-background-radius: 100;">
<font>
<Font name="Arial Bold" size="15.0" />
</font>
</TextField>
<Label layoutX="20.0" layoutY="62.0" prefHeight="17.0" prefWidth="179.0" text="modification selon :">
<font>
<Font name="Arial Bold" size="15.0" />
</font>
</Label>
<TableView fx:id="table" layoutX="646.0" layoutY="115.0" prefHeight="329.0" prefWidth="597.0" style="-fx-background-color: white; -fx-border-color: blueviolet;">
<columns>
<TableColumn fx:id="id" prefWidth="52.0" text="id" />
<TableColumn fx:id="nom" prefWidth="86.0" text="nom" />
<TableColumn fx:id="prenom" prefWidth="101.0" text="prenom" />
<TableColumn fx:id="matricule" prefWidth="119.0" text="matricule" />
<TableColumn fx:id="departement" prefWidth="112.0" text="departement " />
<TableColumn fx:id="mot_de_passe" prefWidth="129.0" text="mot de passe" />
</columns>
</TableView>
<TextField fx:id="txt_recherche" layoutX="919.0" layoutY="57.0" onKeyPressed="#chercher" prefHeight="17.0" prefWidth="332.0" promptText="recherche ..." style="-fx-background-radius: 100;">
<font>
<Font name="Arial Bold" size="15.0" />
</font>
</TextField>
<Label layoutX="646.0" layoutY="62.0" prefHeight="17.0" prefWidth="179.0" text="chercher un utilisateur :">
<font>
<Font name="Arial Bold" size="15.0" />
</font>
</Label>
<Button fx:id="btn_export_excel" layoutX="712.0" layoutY="508.0" mnemonicParsing="false" onAction="#export_excel" prefHeight="37.0" prefWidth="148.0" style="-fx-border-radius: 100; -fx-background-radius: 100;" text="export to excel">
<font>
<Font name="Arial Bold" size="15.0" />
</font>
</Button>
<Button fx:id="btn_export_pdf" layoutX="1011.0" layoutY="508.0" mnemonicParsing="false" onAction="#export_pdf" prefHeight="37.0" prefWidth="148.0" style="-fx-border-radius: 100; -fx-background-radius: 100;" text="export to pdf">
<font>
<Font name="Arial Bold" size="15.0" />
</font>
</Button>
<Button fx:id="btn_send_mail" layoutX="871.0" layoutY="574.0" mnemonicParsing="false" onAction="#send_mail" prefHeight="37.0" prefWidth="148.0" style="-fx-border-radius: 100; -fx-background-radius: 100;" text="send mail">
<font>
<Font name="Arial Bold" size="15.0" />
</font>
</Button>
</children>
</Pane>
и java класс:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package aaaaaa;
import java.io.IOException;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javax.swing.JOptionPane;
public class consulter_utilisateurs extends Application {
@Override
public void start(Stage stageUsers) throws Exception {
try {
Parent root = FXMLLoader.load(getClass().getResource("third.fxml"));
Scene scene = new Scene(root);
stageUsers.setTitle(" consulter users page ");
stageUsers.setScene(scene);
stageUsers.show();
} catch (IOException ex) {
JOptionPane.showMessageDialog(null, "l'erreur est"+ex.getMessage());
System.out.println("erreur est" + ex.getMessage());
}
}
public static void main(String[] args) {
launch(args);
}
}