Hallo
Dies ist mein erster Beitrag in diesem Forum, auch wenn es mir schon früher des öfteren weitergeholfen hat. Vielen Dank dafür! (Auch für die Hilfe im IRC!)
Nun bin ich bei einem Punkt angelangt, an dem meine Frage für den IRC wahrscheinlich zu umfangreich ist. Über Ideen dazu würde ich mich sehr freuen!
Folgende Situation:
Es sollen in einem Panel zwei Texte parallel dargestellt werden. Jedem Buchstaben des einen Textes ist hierbei eindeutig ein Buchstabe des zweiten Textes zugeordnet, der genau darüber bzw. darunter steht. Wenn die Breite des Panels nicht mehr ausreicht, sollen die Texte gemeinsam umbrechen. Wenn auch die Höhe nicht ausreicht soll vertikales Scrollen möglich sein.
Bisher wurde das Problem gelöst, indem jedem Buchstabenpaar ein eigenes Panel mit zwei übereinander angeordneten Labels spendiert wurde. Diese wurden dann in ein Panel eingefügt, das das WrapLayout verwendet.
Das funktioniert soweit auch ganz gut, nur dass diese Lösung natürlich extrem inperformant ist, bei längeren Texten völlig versagt und sich auch nicht wirklich sauber anfühlt (dafür sind JLabels einfach nicht da...).
Hat wer ne Idee?
Dies ist mein erster Beitrag in diesem Forum, auch wenn es mir schon früher des öfteren weitergeholfen hat. Vielen Dank dafür! (Auch für die Hilfe im IRC!)
Nun bin ich bei einem Punkt angelangt, an dem meine Frage für den IRC wahrscheinlich zu umfangreich ist. Über Ideen dazu würde ich mich sehr freuen!
Folgende Situation:
Es sollen in einem Panel zwei Texte parallel dargestellt werden. Jedem Buchstaben des einen Textes ist hierbei eindeutig ein Buchstabe des zweiten Textes zugeordnet, der genau darüber bzw. darunter steht. Wenn die Breite des Panels nicht mehr ausreicht, sollen die Texte gemeinsam umbrechen. Wenn auch die Höhe nicht ausreicht soll vertikales Scrollen möglich sein.
Bisher wurde das Problem gelöst, indem jedem Buchstabenpaar ein eigenes Panel mit zwei übereinander angeordneten Labels spendiert wurde. Diese wurden dann in ein Panel eingefügt, das das WrapLayout verwendet.
Java:
public JScrollPane createAnalysisPane(char[] plain, char[] cypher) {
JPanel analysisPanel = new JPanel(new WrapLayout(WrapLayout.LEFT));
for (int i = 0; i < plain.length; i++) {
JLabel plainLabel = new JLabel(plain[i] + "");
JLabel cypherLabel = new JLabel(cypher[i] + "");
JPanel charPanel = new JPanel(new GridLayout(2, 1));
charPanel.add(plainLabel);
charPanel.add(cypherLabel);
analysisPanel.add(charPanel);
}
JScrollPane analysisPane = new JScrollPane(analysisPanel);
return analysisPane;
}
Das funktioniert soweit auch ganz gut, nur dass diese Lösung natürlich extrem inperformant ist, bei längeren Texten völlig versagt und sich auch nicht wirklich sauber anfühlt (dafür sind JLabels einfach nicht da...).
Hat wer ne Idee?