使用else语句创建列表

时间:2013-11-20 12:18:35

标签: java swing list user-interface if-statement

我对Java的东西很新,但基本上我试图添加一个列表和else语句,现在当我输入说01时,它会出现在gui文本域中,但如果我输入02它将替换01等,所以我希望能够输入02,03等而无需替换我的上一次输入,因此一次只显示一件事。

我添加了追加,但是现在我在textarea的一行中得到了所有输入,输入是否可以在不同的行上?

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

public class CreatePlaylist extends JFrame
              implements ActionListener {
    JTextField trackNo = new JTextField(2);
    TextArea playcount = new TextArea(6, 50);
    JButton play = new JButton("Play Playlist");
    JButton add = new JButton("Add Track");
    public CreatePlaylist() {
        setLayout(new BorderLayout());
        setBounds(100, 100, 400, 200);
        setTitle("Check Library");
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        JPanel top = new JPanel();
        top.add(new JLabel("Enter Track Number:"));
        top.add(trackNo);
        top.add(add);
        top.add(play);
        play.addActionListener(this);
        add.addActionListener(this);
        add("North", top);
        JPanel middle = new JPanel();
        playcount.setText(LibraryData.listAll());
        middle.add(playcount);
        add("Center", middle);

        setResizable(false);
        setVisible(true);

    }

    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == play) {
            playcount.setText(LibraryData.listAll());
        } else {
            String key = trackNo.getText();
            String name = LibraryData.getName(key);
            if (name == null) {
                playcount.setText("No such track number");
            } else {
                playcount.setText(name + " - " + LibraryData.getArtist(key));
            }           
        }
    }   
}

1 个答案:

答案 0 :(得分:2)

  

因此一次只显示一件事。

使用append方法代替setTextsetText替换JTextArea

的现有文字
 playcount.append(LibraryData.listAll());