Hejsan
Blir snart tokig. Jag har en textfil som ser ut såhär:
Loafer,36,brown
Loafer,37,brown
Klacksko,70,white
Loafer,52,black
Jag vill hämta allt från textfilen, lägga dom i en ArrayList, sortera efter storlek och sen skriva ut i en jList.
Får det inte att fungera, blir tokig.
Såhär ser min GUI klass ut
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
public class GUI extends javax.swing.JFrame {
ArrayList<Shoe> shoes = new ArrayList<Shoe>();
public GUI() {
initComponents();
}
public ArrayList getContent() throws IOException {
BufferedReader br = new BufferedReader(new FileReader("shoe.txt"));
String text;
String[] splitText = null;
while ((text = br.readLine()) != null) {
splitText = text.split(",");
shoes.add(new Shoe(splitText[0], Integer.parseInt(splitText[1]), splitText[2]));
}
return shoes;
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try {
jList1.setListData(getContent().toArray());
} catch (IOException ex) {
Logger.getLogger(GUI.class.getName()).log(Level.SEVERE, null, ex);
}
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new GUI().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JList jList1;
private javax.swing.JScrollPane jScrollPane1;
// End of variables declaration
}
Och såhär ser min Shoe klass ut.
public class Shoe implements Comparator<String> {
Collator myCollator = Collator.getInstance();
private String type;
private int size;
private String color;
public Shoe(String _type, int _size, String _color) {
myCollator.setStrength(Collator.PRIMARY);
type = _type;
size = _size;
color = _color;
}
public int compare(String a1, String a2) {
return myCollator.compare(a1, a2);
}
@Override
public String toString() {
return type + " " + size + " " + color;
}
}
Jag har som sagt helt ny på java, och detta är en övningstenta som vi har i plugget. Men jag kommer ingen vart. Hur ska jag sköta sorteringen? Testade med Arrays.sort() men det funkar tydligen inte på en ArrayList.
Stort tack på förhand!