[英]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.