Điều bạn đang tìm kiếm là DefaultListModel - Biến danh sách chuỗi động.
Đây là toàn bộ lớp sử dụng DefaultListModel như thể đó là TStringList của Delphi. Sự khác biệt là bạn có thể thêm Strings vào danh sách mà không giới hạn và bạn có cùng khả năng nhận được một mục nhập bằng cách chỉ định mục nhập int.
FileName: StringList.java
package YOUR_PACKAGE_GOES_HERE;
//This is the StringList Class by i2programmer
//You may delete these comments
//This code is offered freely at no requirements
//You may alter the code as you wish
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.DefaultListModel;
public class StringList {
public static String OutputAsString(DefaultListModel list, int entry) {
return GetEntry(list, entry);
}
public static Object OutputAsObject(DefaultListModel list, int entry) {
return GetEntry(list, entry);
}
public static int OutputAsInteger(DefaultListModel list, int entry) {
return Integer.parseInt(list.getElementAt(entry).toString());
}
public static double OutputAsDouble(DefaultListModel list, int entry) {
return Double.parseDouble(list.getElementAt(entry).toString());
}
public static byte OutputAsByte(DefaultListModel list, int entry) {
return Byte.parseByte(list.getElementAt(entry).toString());
}
public static char OutputAsCharacter(DefaultListModel list, int entry) {
return list.getElementAt(entry).toString().charAt(0);
}
public static String GetEntry(DefaultListModel list, int entry) {
String result = "";
result = list.getElementAt(entry).toString();
return result;
}
public static void AddEntry(DefaultListModel list, String entry) {
list.addElement(entry);
}
public static void RemoveEntry(DefaultListModel list, int entry) {
list.removeElementAt(entry);
}
public static DefaultListModel StrToList(String input, String delimiter) {
DefaultListModel dlmtemp = new DefaultListModel();
input = input.trim();
delimiter = delimiter.trim();
while (input.toLowerCase().contains(delimiter.toLowerCase())) {
int index = input.toLowerCase().indexOf(delimiter.toLowerCase());
dlmtemp.addElement(input.substring(0, index).trim());
input = input.substring(index + delimiter.length(), input.length()).trim();
}
return dlmtemp;
}
public static String ListToStr(DefaultListModel list, String delimiter) {
String result = "";
for (int i = 0; i < list.size(); i++) {
result = list.getElementAt(i).toString() + delimiter;
}
result = result.trim();
return result;
}
public static String LoadFile(String inputfile) throws IOException {
int len;
char[] chr = new char[4096];
final StringBuffer buffer = new StringBuffer();
final FileReader reader = new FileReader(new File(inputfile));
try {
while ((len = reader.read(chr)) > 0) {
buffer.append(chr, 0, len);
}
} finally {
reader.close();
}
return buffer.toString();
}
public static void SaveFile(String outputfile, String outputstring) {
try {
FileWriter f0 = new FileWriter(new File(outputfile));
f0.write(outputstring);
f0.flush();
f0.close();
} catch (IOException ex) {
Logger.getLogger(StringList.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
OutputAs phương pháp này cho outputting một mục như int, double, vv ... do đó bạn không cần phải chuyển đổi từ chuỗi ở phía bên kia.
SaveFile & LoadFile để lưu và tải chuỗi đến và từ tệp.
StrToList & ListToStr để đặt dấu phân cách giữa mỗi mục nhập.
ví dụ: 1 <> 2 <> 3 <> 4 <> nếu "<>" là dấu phân cách và 1 2 3 & 4 là các mục nhập.
AddEntry & GetEntry sẽ thêm và nhận chuỗi từ và đến DefaultListModel.
RemoveEntry là xóa chuỗi khỏi DefaultListModel.
Bạn sử dụng DefaultListModel thay vì một mảng ở đây như thế này:
DefaultListModel list = new DefaultListModel();
//now that you have a list, you can run it through the above class methods.
Nếu chỉ có một cách mô tả một số mã, như .... Tôi không biết, hiển thị mã cho chúng tôi ... – skaffman