Je travaille sur un projet dans lequel dans un module je dois montrer les données dans une grille de données (pour laquelle j'utilise JTable). Le problème est que, lorsque j'insère les données dans JTable, il est rempli au bas de la table, et je veux montrer les nouvelles lignes en haut de la table. Veuillez me guider pour accomplir cette tâche, toute aide sera appréciée. J'utilise NetBeans pour le développement.Comment ajouter de nouvelles lignes en haut de la JTable et modifier la couleur des lignes nouvellement insérées en Java?
Voici mon code pour remplir les données:
public void run() {
try {
FileWriter out = new FileWriter("test.txt");
BufferedWriter bufWriter = new BufferedWriter(out);
int nb = input.readInt();
System.out.println("Read Length"+ nb);
byte[] digit = new byte[nb];
System.out.println("Writing.......");
for(int i = 0; i < nb; i++)
digit[i] = input.readByte();
String st = new String(digit);
bufWriter.append(st);
bufWriter.close();
out.close();
System.out.println ("receive from : " +
clientSocket.getInetAddress() + ":" +
clientSocket.getPort() + " message - " + st);
DefaultTableModel table = (DefaultTableModel)_table.getModel();
File file = new File("test.txt");
Scanner f = new Scanner(file);
String line = null;
String[] str = null;
while(f.hasNext()){
line = f.nextLine().replace('|', ',');
str = line.split(",");
table.addRow(str);
_table.setBackground(Color.red);
}
output.writeInt(st.length());
output.writeBytes(st);
}
catch(EOFException e) {
System.out.println("EOF:"+e.getMessage()); }
catch(IOException e) {
System.out.println("IO:"+e.getMessage());}
finally {
try {
clientSocket.close();
}
catch (IOException e){/*close failed*/}
}
}
Merci à l'avance.
Vous pouvez envisager d'utiliser votre propre 'TableModel' plutôt que d'utiliser celui par défaut. –
Ok laissez-moi vérifier le tutoriel pour cela. –