繁体   English   中英

从通读按钮的文本文件中填充一个jlist

[英]Populate a jlist from text file read through button

在此处输入图片说明

码:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         

JFileChooser fileChooser = new JFileChooser();
//fileChooser.setCurrentDirectory(new     File(System.getProperty("user.home")));
int result = fileChooser.showOpenDialog(this);
if (result == JFileChooser.APPROVE_OPTION) 

{
File selectedFile = fileChooser.getSelectedFile();
System.out.println("Selected file: " + selectedFile.getAbsolutePath());
DefaultListModel lista = new DefaultListModel();
JList jList1 = new JList();

try {
        FileReader archivo = new     FileReader(selectedFile.getAbsolutePath());
        BufferedReader lector = new BufferedReader(archivo);
        String texto = null;
        while ((texto = lector.readLine()) != null) {
            lista.addElement(texto);
            //System.out.println("Lista:"+lista);
            //System.out.println(texto);
        }

        jList1.setModel(lista);
        System.out.println("jList1:"+jList1);

    } 

catch (FileNotFoundException e) {
        e.printStackTrace();
    } 

catch (IOException e) {
        e.printStackTrace();
    } 

}    

}                                        

我正在尝试从通过Read_file按钮读取的文本文件中填充一个jlist

我可以正确获取文件路径和文件内容,这些内容已通过print语句验证,但我的jlist仍然为空。 在设计中,我检查了jlist的变量名,两者均与我在代码中使用的名称匹配。

请就错误建议我。

从我看来,每当您按下按钮时,您就会创建一个新的JList 您确实正确地填充了DefaultListModel但是您分配给某个jList而不是您的UI上的jList。

只需清除界线:

JList jList1 = new JList(); 

然后在setModel之后repaintrevalidate它的容器

暂无
暂无

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

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