final CountDownLatch latch = new CountDownLatch(1);
SpanTest test = new SpanTest(latch); Thread T1 = newThread(test);
T1.start();
// wait for latch to complete boolean ret = false; try {
ret = latch.await(3000, TimeUnit.SECONDS);
} catch (InterruptedException ie) { throw ie;
} if (!ret) {
test.dispose(); thrownew RuntimeException(" User has not executed the test");
} if (test.testResult == false) { thrownew RuntimeException("Some characters overlap");
}
}
}
publicvoid dispose() { if (dialog != null) {
dialog.dispose();
} if (f != null) {
f.dispose();
}
}
privatestaticvoid spanTest() throws Exception {
SwingUtilities.invokeAndWait(new Runnable() {
@Override publicvoid run() {
JLabel label = new JLabel("<html><span>A few words to get started "
+ "before the bug</span><span>overlapping text</span></html>");
f = new JFrame("");
f.getContentPane().add(label, BorderLayout.CENTER);
f.setSize(500,500);
f.setVisible(true);
}
});
}
privatefinalvoid createUI() throws Exception {
SwingUtilities.invokeAndWait(new Runnable() {
@Override publicvoid run() {
String description
= " INSTRUCTIONS:\n"
+ " A string will be shown.\n "
+ " Press Pass if there is no overlap of characters\n"
+ " else press Fail.";
dialog = new JDialog();
dialog.setTitle("textselectionTest");
JTextArea textArea = new JTextArea(description);
textArea.setEditable(false); final JButton passButton = new JButton("PASS");
passButton.addActionListener((e) -> {
testResult = true;
dispose();
latch.countDown();
}); final JButton failButton = new JButton("FAIL");
failButton.addActionListener((e) -> {
testResult = false;
dispose();
latch.countDown();
});
JPanel mainPanel = new JPanel(new BorderLayout());
mainPanel.add(textArea, BorderLayout.CENTER);
JPanel buttonPanel = new JPanel(new FlowLayout());
buttonPanel.add(passButton);
buttonPanel.add(failButton);
mainPanel.add(buttonPanel, BorderLayout.SOUTH);
dialog.add(mainPanel);
dialog.pack();
dialog.setVisible(true);
}
});
}
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.9 Sekunden
(vorverarbeitet am 2026-06-10)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.