0

したがって、この映画のリストを JList でソートしています。これらの要素がどのように作成されるかは、別のクラスに分類されます。リストのコードは次のとおりです。filmlist = 新しい FilmList();

    //Pre loaded film data
    filmlist.addFilm("The Matrix", "A", "18", "2", 100);
    filmlist.addFilm("Wreck It Ralph", "B", "U", "5", 150);
    filmlist.addFilm("Sin City", "C", "18", "3", 100);
    filmlist.addFilm("Starwars", "D", "PG", "3", 150);
    filmlist.addFilm("Back to the Future", "E", "PG", "2", 80);
    filmlist.addFilm("Willy Wonka & the Chocolate Factory", "F", "U", "1", 75);
    filmlist.addFilm("Avatar", "G", "PG", "2", 80);
    filmlist.addFilm("Disturba", "H", "PG", "1", 80);
    filmlist.addFilm("Monsters Inc", "I", "U", "1", 100);
    filmlist.addFilm("The Godfather", "J", "18", "1", 100 );

    theFilmList.setModel(filmlist);

そして、これらの映画のチケットの購入をシミュレートする方法があります。Atm 基本的に値を出力します。

    public void buyTicket() {
    String newFilmName = filmNameTF.getText();
    String newLecture = lectureTF.getText();
    String newAge = ageTF.getText();
    String newPrice = priceTF.getText();
    int newSeats = Integer.parseInt(seatsTF.getText()); // convert the int to a String
    int newSeatsNo; // the new number of seats for the film

    newSeatsNo = newSeats - 1;


    if (JOptionPane.showConfirmDialog(this, "Are you sure you want to buy a ticket for " + newFilmName + " at the cost of £" + newPrice,
            "Purchase Ticket", JOptionPane.YES_NO_OPTION) 
            == JOptionPane.YES_OPTION) {// Are you sure dialog      

        if (newFilmName.equals("") || newLecture.equals("") || 
                newAge.equals("") || newPrice.equals("")) {
            JOptionPane.showMessageDialog(this, "Please select a film from the list");
        } else {
            System.out.println("- Receipt -");
            System.out.println("Film: " + newFilmName);
            System.out.println("Lecture Hall: " + newLecture);
            System.out.println("Age Rating: " + newAge);
            System.out.println("Price of Ticket: " + "£" + newPrice);

        }

私がしたいのは、リストの最後の要素である座席数の値を変更することです。「newSeatsNo = newSeats - 1;」を実行することで、方程式を実行できます。JList で置換された式の値を取得するにはどうすればよいですか?

私の言いたいことを理解していただければ幸いです。いずれかのクラスからさらにコードが必要かどうかを教えてください。

public class FilmList extends DefaultListModel {
public FilmList(){
    super();
}

public void addFilm(String film, String  lecture, String age, String price, int seats){
    super.addElement(new FilmSystem(film, lecture, age, price, seats));
}

}

フィルム リスト クラス。

4

1 に答える 1

0

DefaultListModel のメソッドの 1 つである set を使用しないのはなぜですか

int lastElem = filmlist.getSize();

filmlist.set( lastElem, new FilmList().addFilm("The Godfather", "J", "18", "1", <new value here>);

コンパイラにアクセスできないため、このコードはまだ試していません。しかし、ここで DefaultListModel の利用可能なメソッドを見つけることができます: DefaultListModel

于 2013-03-28T01:05:23.690 に答える