combate el sistema java ama de llaves de facturación (9) - cuentas Eliminar y las funciones de interfaz para lograr

Esta cláusula general

En esta sección se eliminarán las cuentas de los registros.

 

interfaz de creación

Uso JavaFX para crear la interfaz, crear deleteAccountFrame.fxml en vista paquete, diseñado para interactuar con la escena Builder, que las propiedades de cada control y los eventos se refieren a los siguientes códigos:

<?xml version="1.0" encoding="UTF-8"?>
​
​
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<AnchorPane prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"
            fx:controller="AccountSystem.controller.DeleteAccountFrameController">
    <children>
        <BorderPane prefHeight="400.0" prefWidth="600.0">
            <top>
                <HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0" BorderPane.alignment="CENTER">
                    <children>
                        <Label text="序号:"/>
                        <TextField fx:id="idTextField" promptText="请填入账目记录的序号:"/>
                    </children>
                </HBox>
            </top>
            <bottom>
                <HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0" spacing="50.0"
                      BorderPane.alignment="CENTER">
                    <children>
                        <Button fx:id="checkButton" mnemonicParsing="false" onAction="#checkButtonEvent" text="查询"/>
                        <Button fx:id="deleteButton" mnemonicParsing="false" onAction="#deleteButtonEvent" text="删除"/>
                    </children>
                </HBox>
            </bottom>
            <center>
                <HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0" BorderPane.alignment="CENTER">
                    <children>
                        <Label fx:id="contentLabel"/>
                    </children>
                </HBox>
            </center>
        </BorderPane>
    </children>
</AnchorPane>

Luego se crea la clase del controlador a la misma correspondiente, la creación de clase en el controlador de paquetes DeleteAccountFrameController.java, y copia los códigos de control desde la base a la clase en la Escena Constructor:

package AccountSystem.controller;
​
import AccountSystem.bean.Record;
import AccountSystem.bean.Session;
import AccountSystem.dao.RecordDao;
import AccountSystem.tools.SimpleTools;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Alert;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
​
/**
 * 删除账目界面控制器
 *
 * @author lck100
 */
public class DeleteAccountFrameController {
    @FXML
    private TextField idTextField;
​
    @FXML
    private Label contentLabel;
​
    /**
     * ”查询“按钮的事件监听器
     *
     * @param actionEvent 事件
     */
    @FXML
    public void checkButtonEvent(ActionEvent actionEvent) {
       
    }
​
    /**
     * ”删除“按钮的事件监听器
     *
     * @param actionEvent 事件
     */
    @FXML
    public void deleteButtonEvent(ActionEvent actionEvent) {
       
    }
}

El siguiente paso es presentar FXML carga. Agregue el siguiente método de carga MainApp.java interfaz deleteAccountFrame.fxml:

    /**
     * 操作结果:删除账目界面
     */
    public Scene initDeleteFrame() {
        try {
            Parent page = FXMLLoader.load(getClass().getResource("view/deleteAccountFrame.fxml"));
​
            Stage mainFrameStage = new Stage();
            mainFrameStage.setTitle("删除账目");
            mainFrameStage.setResizable(true);
            mainFrameStage.setAlwaysOnTop(false);
            mainFrameStage.initModality(Modality.APPLICATION_MODAL);
            mainFrameStage.initOwner(primaryStage);
            Scene scene = new Scene(page);
            mainFrameStage.setScene(scene);
​
            mainFrameStage.show();
            return scene;
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }

A continuación, llame al método se lleva a cabo, en deleteMenuItemEvent MainPageController.java en () llamada al método, es decir, el método de controlador de eventos a elementos de menú Eliminar:

    /**
     * ”删除“菜单项的事件监听器
     *
     * @param actionEvent 事件
     */
    @FXML
    public void deleteMenuItemEvent(ActionEvent actionEvent) {
        // 调用删除账目界面
        mainApp.initDeleteFrame();
        // 刷新数据
        initialize();
    }

Interfaz, ejecute el programa, ejecuta la interfaz es la siguiente:

 

Realizar la función

Interfaz de eliminar tiene dos botones "Buscar" y funciones "Borrar" son los números se hacen los registros de consulta de entrada del usuario que desea eliminar y, a continuación, haga clic en el botón "Borrar" para eliminar este registro.

Así consulta de código de evento de botón oyente es el siguiente:

    /**
     * ”查询“按钮的事件监听器
     *
     * @param actionEvent 事件
     */
    @FXML
    public void checkButtonEvent(ActionEvent actionEvent) {
        // 实例化Record对象
        Record record = new Record();
        // 实例化RecordDao对象
        RecordDao recordDao = new RecordDao();
        // 通过记录ID和用户ID查询账目记录
        Record checkedRecord = recordDao.selectRecordByIdAndUserId(Integer.parseInt(idTextField.getText()), Session.getUser().getUserId());
        String info = "";
        if (checkedRecord.getRecordType() == null && checkedRecord.getRecordClassification() == null) {
            info = "无此查询结果!";
        } else {
            info =
                    "类型:\t\t" + checkedRecord.getRecordType() + "\n"
                            + "金额:\t\t" + checkedRecord.getRecordMoney() + "\n"
                            + "分类:\t\t" + checkedRecord.getRecordClassification() + "\n"
                            + "备注:\t\t" + checkedRecord.getRecordMemo() + "\n"
                            + "日期:\t\t" + checkedRecord.getRecordDate() + "\n";
        }
        // 显示查询结果
        contentLabel.setText(info);
    }

Entrar en la consulta número de serie de la siguiente manera:

A continuación, el código del botón oyente es el siguiente:

    /**
     * ”删除“按钮的事件监听器
     *
     * @param actionEvent 事件
     */
    @FXML
    public void deleteButtonEvent(ActionEvent actionEvent) {
        // 将string类型数据转换为int类型数据
        int id = Integer.parseInt(idTextField.getText());
        // 实例化RecordDao对象
        RecordDao recordDao = new RecordDao();
        // 根据ID删除记录
        boolean b = recordDao.deleteRecord(new Record(id));
        if (b) {
            SimpleTools.informationDialog(Alert.AlertType.INFORMATION, "提示", "信息", "删除数据成功!");
            // 删除成功后就清除窗体数据
            idTextField.setText("");
            contentLabel.setText("");
        } else {
            SimpleTools.informationDialog(Alert.AlertType.ERROR, "提示", "错误", "删除数据失败!");
        }
    }

Código explicación: Obtener el número que desea borrar, y luego llamar a método de clase RecordDao deleteRecord () para realizar la eliminación, y la supresión resultados rápidos.

Ejecutar el programa, realizar las siguientes funciones:

 

 

número de micro-canales públicos de búsqueda [ programa de ejemplo de Java ] o escanear el código Fanger Wei para obtener más atención del público.

Nota: Responder a [el fondo público número 20200326 ] se puede obtener el código fuente de este capítulo.

Publicados 500 artículos originales · ganado elogios 77 · vistas 160 000 +

Supongo que te gusta

Origin blog.csdn.net/cnds123321/article/details/104280387
Recomendado
Clasificación