Ich arbeite an einem einfachen Datei-Reader. Er liest die TXT-Datei, formatiert die Ausgabe und zeigt die Ausgabe in einer JTextArea an. Aus irgendeinem Grund wird die Ausgabe nicht korrekt angezeigt. Ich habe meinen aktuellen Code gefolgt von den folgenden Textdateien angegeben.Wie würde ich diesen JTextArea-Formatierungsfehler beheben?
-Code
public static JTextArea display = new JTextArea();
public static void main(String[] args) {
// GUI
JFrame frame = new JFrame("Haberdasher");
frame.setSize(450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
JPanel container = new JPanel();
container.setLayout(null);
frame.setContentPane(container);
JScrollPane scroll = new JScrollPane(display);
scroll.setBounds(10, 10, 415, 150);
container.add(scroll);
frame.toFront();
frame.setVisible(true);
// Logic
String path = "src//employees.txt";
boolean endOfFile = false;
String output = "Name" + "\t\t" + "Weekly Sales" + "\t\t" + "Weekly Pay" + "\n";
try {
FileReader fr = new FileReader(path);
BufferedReader br = new BufferedReader(fr);
while (!endOfFile) {
String name = br.readLine();
if(name == null) {
endOfFile = true;
} else {
int sale = Integer.parseInt(br.readLine());
if(name.length() >= 16) {
output += name + "\t" + sale + "\t\t" + "300" + "\n";
} else {
output += name + "\t\t" + sale + "\t\t" + "300" + "\n";
}
}
}
br.close();
System.out.println(output);
display.setText(output);
} catch (IOException e) {
System.out.println(e);
}
}
Employees.txt Inhalt:http://hastebin.com/ijuyedizil.nginx
Erwartete Ausgabe:http://hastebin.com/epesipatot.nginx
entweder nicht gedruckt den ganzen Namen oder verwenden Sie eine andere Registerkarte –
Sie müssen die Anzahl der Registerkarten (\ t), die Sie drucken, abhängig von der Länge der Zeichenfolgen, die Sie drucken, vornehmen. –
Was ist Ihre erwartete Leistung? Ist das Problem der Ausrichtung das Problem? – Coder