den Code Mit dieser link Laden Textdatei Inhalt GUI:JButton HashMap zählen klicken
Map<String, ArrayList<String>> sections = new HashMap<>();
String s = "", lastKey="";
try (BufferedReader br = new BufferedReader(new FileReader("input.txt"))) {
while ((s = br.readLine()) != null) {
String k = s.substring(0, 10).trim();
String v = s.substring(10, s.length() - 50).trim();
if (k.equals(""))
k = lastKey;
ArrayList<String> authors = null;
if(sections.containsKey(k))
{
authors = sections.get(k);
}
else
{
authors = new ArrayList<String>();
sections.put(k, authors);
}
authors.add(v);
lastKey = k;
}
} catch (IOException e) {
}
Mit Hilfe von @ Michael Markidis die HashMap
Artikel Zählen mit diesem Code:
// to get the number of authors
int numOfAuthors = sections.get("AUTHOR").size();
Jetzt Ich würde gerne numOfAuthors
als Parameter von jButton1
verwenden, zum Beispiel:
jButton1.doClick(numOfAuthors);
Eigentlich allgemeine Struktur der GUI: Ich habe jPanel1
mit jTextField1
und jButton1
. jButton1
Hinzufügen von dynamischen tf
zu jPanel2
.
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
SubPanel sub = new SubPanel();
jPanel2.add(sub);
jPanel2.revalidate();
}
Die Anzahl der Elemente in HashMap
ist 12
, so wo'd Ich mag diese Zahl als Parameter von jButton1
zu verwenden, und klicken Sie auf 12
Zeiten und fügen Sie zusätzliche 12
sub
‚s.
System.out.println(numOfAuthors);
Output: 12
Aber für diesen Moment jButton1
kommt noch hinzu, 1
sub
.
Ich kann nicht verstehen, warum es nicht richtig funktioniert.
Was ist der Layout-Manager von 'jPanel2'? – Berger
@Berger VerticalLayout – hub