簡體   English   中英

我在這里想念什么? (可能很明顯)

[英]What i am missing here? ( probably something obvious)

此程序被禁止創建電影列表。 電影是通過“添加”按鈕(JButton)進行添加的,還添加了“清除”按鈕以清除Jtextfield。 代碼可以編譯,但是除了空白JFrame之外,什么都沒有顯示。 我想念什么? (有Java導入,但是粘貼它們會占用太多空間)

public class SamodzielnaListaOsob extends JFrame  implements ActionListener {

JButton add, erease;
JTextField film;
DefaultListModel<String> listFilm;

public SamodzielnaListaOsob(String title){
    super(title);

        setDefaultCloseOperation(EXIT_ON_CLOSE);


        final JTextField film = new JTextField("Tutaj wpisz tytul filmu", 10);
        film.setBorder(BorderFactory.createTitledBorder(null, "Film"));

        JPanel p1 = new JPanel();
            p1.add(film);


        JButton add = new JButton("Dodaj do listy");
            add.addActionListener(new ActionListener(){
                @Override
                public void actionPerformed(ActionEvent e) {
                            String nowyFilm = film.getText();
                                if (nowyFilm !=""){
                                    listFilm.addElement(nowyFilm);
                                    film.setText("");
                                }
                }
            });
            JButton erease = new JButton("Wyczysc pole");
                erease.addActionListener(new ActionListener(){
                    @Override
                    public void actionPerformed(ActionEvent e) {
                         film.setText("");

                    }
                });

                JPanel p2 = new JPanel();
                p2.add(add);
                p2.add(erease);

                listFilm = new DefaultListModel<String>();
                listFilm.addElement("Film0");
                listFilm.addElement("Film1");
                listFilm.addElement("Film2");





             setPreferredSize(new Dimension(900, 900));      
             pack();
             setVisible(true);
}




public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable() {
        public void run() {
            new SamodzielnaListaOsob("List of movies");
        }
    });
}



}

該代碼向面板添加了組件,但是面板從未添加到框架中。

在此處輸入圖片說明

 //setPreferredSize(new Dimension(900, 900));
 p1.add(p2);
 setContentPane(p1);

完整的可編譯源。

import javax.swing.*;
import java.awt.*;

public class SamodzielnaListaOsob extends JFrame {

    JButton add, erease;
    JTextField film;
    DefaultListModel<String> listFilm;

    public SamodzielnaListaOsob(String title){
        super(title);
        setDefaultCloseOperation(EXIT_ON_CLOSE);

        final JTextField film = new JTextField("Tutaj wpisz tytul filmu", 10);
        film.setBorder(BorderFactory.createTitledBorder(null, "Film"));

        JPanel p1 = new JPanel();
        p1.add(film);
        JButton add = new JButton("Dodaj do listy");
        JButton erease = new JButton("Wyczysc pole");

        JPanel p2 = new JPanel();
        p2.add(add);
        p2.add(erease);

        listFilm = new DefaultListModel<String>();
        listFilm.addElement("Film0");
        listFilm.addElement("Film1");
        listFilm.addElement("Film2");

        //setPreferredSize(new Dimension(900, 900));
        p1.add(p2);
        setContentPane(p1);
        pack();
        setVisible(true);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new SamodzielnaListaOsob("List of movies");
            }
        });
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM