[英]Create a .txt file populating it from a JList
是否可以在.txt文件中寫入JList的內容? 如果可以的話,您可以給我樣品嗎? 謝謝
JList不是數據結構,而是顯示組件。
您應該將內容包含在ListModel中,並且如果該模型的元素是簡單的Strings(或易於轉換為Strings的內容),則當然可以將其寫入文本文件中。
public static void exportList(ListModel model, File f) throws IOException {
PrintWriter pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream(f), "UTF-8"));
try {
int len = model.getSize();
for (int i = 0; i < len; i++) {
pw.println(model.getElementAt(i).toString());
}
} finally {
pw.close();
}
}
列表有一個模型,而模型有數據。 您只需要將該數據寫入文件即可:
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.event.*;
import java.io.PrintStream;
import java.io.FileOutputStream;
import java.io.FileNotFoundException;
class ListDemo {
public static void main( String ... args ) throws FileNotFoundException {
// The data
final Object [] data = {"A","B","C"};
// Put it in the frame
JFrame frame = new JFrame();
frame.add( new JScrollPane( new JList( data )));
// write to a file
final PrintStream out = new PrintStream(new FileOutputStream("datos.txt"));
frame.add( new JButton("Print"){{
addActionListener( new ActionListener() {
public void actionPerformed( ActionEvent e ) {
for( Object d : data ) {
out.println( d );
}
}
});
}}, BorderLayout.SOUTH);
frame.pack();
frame.setVisible( true );
}
}
這只是一個示例。 您必須創建我們自己的列表模型,並使用您自己的數據填充它。
我也沒有在這里關閉文件。
要了解有關JList的更多信息,請單擊此處:
http://download.oracle.com/javase/tutorial/uiswing/components/list.html
要在此處了解有關流的更多信息:
http://download.oracle.com/javase/tutorial/essential/io/charstreams.html
這是一個作業問題嗎?
無論如何,可以從JList中使用以下方法,盡管我確信它不是執行它的最佳方法,但它應該可以工作
list是一個JList
list.setSelectedIndex(int index); //設置一個選擇
list.getSelectedValue(); //返回對象
要么
list.setSelectedIndices(int [] index); //設置多個選擇
list.getSelectedValues(); //返回對象[]中的所有選定值
用於編寫/閱讀/刪除/創建的閱讀本
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.