Вы объявляете значения объекта в исходном классе или контроллере? - PullRequest
1 голос
/ 13 марта 2019

Итак, у меня есть два класса, один называется Films, а другой - Filmscontroller. Класс фильмов содержит все получатели и установщики и, конечно, tostring. Контроллер - это то место, откуда я реализую методы. У меня есть кнопка «testbut» и ярлык «filmtitle». Этикетка - это то место, куда идет универсальная пленочная этикетка. то, что я пытаюсь сделать, - это когда я нажимаю кнопку, я хочу получить название фильма, то есть матрицу, как показано ниже в классе FilmsController. Я мог бы ввести текст в метод 'setText' для 'Matrix', но это было бы не очень надежно.

У меня вопрос: нужно ли мне объявить объект (Films matrix = new Films ("Matrix", 5,15,120, "2:30"); в классе контроллера или в исходном классе и как мне заставить его работать с кнопка

Класс фильмов

package sample;

public class Films {
    private String name;
    private double price;
    private int agelimit;
    private int duration;
    private String bookingtime;

    public Films(String name, double price, int agelimit, int duration, String bookingtime) {
        this.name = name;
        this.price = price;
        this.agelimit = agelimit;
        this.duration = duration;
        this.bookingtime=bookingtime;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public int getAgelimit() {
        return agelimit;
    }

    public void setAgelimit(int agelimit) {
        this.agelimit = agelimit;
    }

    public int getDuration() {
        return duration;
    }

    public void setDuration(int duration) {
        this.duration = duration;
    }

    public String getBookingtime() {
        return bookingtime;
    }

    public void setBookingtime(String bookingtime) {
        this.bookingtime = bookingtime;
    }

    @Override
    public String toString() {
        return "Films{" +
                "name='" + name + '\'' +
                ", price=" + price +
                ", agelimit=" + agelimit +
                ", duration=" + duration +
                ", bookingtime='" + bookingtime + '\'' +
                '}';
    }


}

Класс FilmsController

import javafx.geometry.Pos;
import javafx.scene.control.Button;

import java.awt.*;

public class FilmsController {
    public Button testbut;
    public Label filmtitle;


    public void changetitle() {
        testbut.setOnAction(event -> {
            filmtitle.setText();
            filmtitle.setAlignment(Pos.CENTER);


        });
    }
    public static void main(String[] args) {
        Films matrix = new Films("Matrix", 5,15,120,"2:30");
    }

}

1 Ответ

0 голосов
/ 13 марта 2019

Лучший подход (который я использую в моем текущем проекте JavaFx), на мой взгляд, для этого случая используется шаблон DAO .
Используйте один (Bean) класс для ссылки на ваш объект (с методами set и getter).
Используйте один класс (интерфейс DaoImpl + был бы лучше) для управления этим объектом (вставка, удаление, получение, обновление объектов и т. Д.).
Используйте класс контроллера только для обновления интерфейса GUI, когда вы хотите получать или обновлять данные в / из объектов, вы всегда используете свой класс реализации DAO (мне нравится делать его Singleton классом).
Это работает как «большой» проект, намного проще управлять и обновлять проект позже.
Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...