2
我需要JList
的幫助。需要將文本文件添加到列表,但txt文件被命名爲library.txt
有:如何用txt文件中的某些單詞填充JList
title1 author1 description1 publisher1
title2 author2 description2 publisher2
title3 author3 description3 publisher3
title4 author4 description4 publisher4
什麼程序需要做的就是填單子只與TXT,當標題用戶從列表中選擇該程序的某些標題需要將描述寫入JTextArea
。
這是我到目前爲止。
import java.awt.FlowLayout;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.DefaultListModel;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JTextArea;
public class Library extends JFrame {
private JList lista;
private JTextArea tekst;
DefaultListModel model;
public Library() {
super("Biblioteka");
this.setSize(300, 300);
setLayout(new FlowLayout());
model = new DefaultListModel();
lista = new JList(model);
add(lista);
tekst = new JTextArea(20, 20);
add(tekst);
File fajl = new File("library.txt");
BufferedReader ulaz = null;
try {
FileReader fr = new FileReader(fajl);
ulaz = new BufferedReader(fr);
String linija;
try {
while ((linija = ulaz.readLine()) != null) {
//lista.add(linija);
//System.out.println(linija);
String[] reci = linija.split("\t");
String naslovi = null;
for (int i = 0; i < reci.length; i++) {
naslovi = reci[0];
}
int pos = lista.getModel().getSize();
model.addElement(naslovi.toString());
}
} catch (IOException ex) {
Logger.getLogger(Library.class.getName()).log(Level.SEVERE, null, ex);
}
} catch (FileNotFoundException ex) {
Logger.getLogger(Library.class.getName()).log(Level.SEVERE, null, ex);
}
}
public static void main(String[] args) {
Library l = new Library();
l.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
l.setSize(300, 430);
l.setVisible(true);
}
}
1)*「這是我到目前爲止。」*請使用邏輯和一致的縮進代碼塊。該代碼的內容類似於您的狗寫的。我喜歡狗,但不會調試他們的代碼。 2)請在發佈之前仔細檢查您的文章的預覽。正因爲如此,我不得不收拾起來,還有更好的事情要做。 3)創建一個POJO來表示'Book'並將'Book'實例放入列表中。使用渲染器使它們按需顯示。選中後,使用該對象獲取詳細信息以顯示在GUI的其餘部分。 4)做3.會使問題變得多餘。 –
5)應該在EDT上執行Swing代碼6)您的問題到底是什麼。您向我們展示了正在進行的工作,但忘了提及卡住的位置 – Robin