繁体   English   中英

ArrayList,JList,DefaultListModel,添加元素,显示它们等

[英]ArrayList, JList, DefaultListModel, adding elements, displaying them etc

如何将JTextArea的输出更改为JList? 原因是:删除元素,对其进行排序和编辑更加容易。 如果我只是简单地将JTextArea更改为JList,那么我就有在输出区域中打印ArrayList的问题。

这是我的代码(我删去了某些(可能不相关的)部分):

package personFiles;

import java.awt.*;
import java.util.List;
import java.awt.event.*;
import java.util.ArrayList;

import javax.swing.*;
import javax.swing.event.*;


@SuppressWarnings("serial")
public class Osoblje extends JFrame {
    private JTextArea outputJTA = new JTextArea("");
    private JScrollPane outputJTAScrollPane = new JScrollPane(outputJTA);

    List<Person> personList = new ArrayList<>();

    public Osoblje(String title) { 
        // Frame-Initialisierung
        super(title);
        setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
        int frameWidth = 310; 
        int frameHeight = 269;
        setSize(frameWidth, frameHeight);
        Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
        int x = (d.width - getSize().width) / 2;
        int y = (d.height - getSize().height) / 2;
        setLocation(x, y);
        setResizable(false);
        Container cp = getContentPane();
        cp.setLayout(null);
        // Anfang Komponenten

        outputJTAScrollPane.setBounds(8, 8, 129, 217);
        cp.add(outputJTAScrollPane);

        setVisible(true);
    } // end of public Osoblje

    // Anfang Methoden

    public static void main(String[] args) {
        new Osoblje("Osoblje");
    } // end of main

    public void newPersonJB_ActionPerformed(ActionEvent evt) {
        personList.add(new Person(idJTF.getText(), nameJTF.getText(), surnameJTF.getText(), ageJTF.getText(), genderJTF.getText())); //create new person
    } // end of newPersonJB_ActionPerformed

    public void pokaziJB_ActionPerformed(ActionEvent evt) {
        outputJTA.setText(personList + "\n"); //display personList
    } // end of pokaziJB_ActionPerformed

}

尝试从List<Person>切换到java.util.List<Person>

或者,更好地解决您的进口问题。

您正在使用java.awt.List而不是java.util.List

解:

java.util.List<Main> m = new ArrayList<Main>();

或者执行更严格的导入,例如:

import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.Container;

代替:

import java.awt.*;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM