privatestaticvoid createAndShowTestDialog() {
String testInstruction = "This test verify that the BullsEye rings are printed correctly.\n"+ "The printout should show transparent rings with increasing darkness toward the center";
final JDialog dialog = new JDialog();
dialog.setTitle("SaveFileWithoutPrinter");
dialog.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
dialog.addWindowListener(new WindowAdapter() {
@Override publicvoid windowClosing(WindowEvent e) {
dialog.dispose();
fail("Main dialog was closed.");
}
});
final JLabel testTimeoutLabel = new JLabel(String.format("Test timeout: %s", convertMillisToTimeStr(testTimeout))); finallong startTime = System.currentTimeMillis(); final Timer timer = new Timer(0, null);
timer.setDelay(1000);
timer.addActionListener((e) -> { int leftTime = testTimeout - (int) (System.currentTimeMillis() - startTime); if ((leftTime < 0) || testFinished) {
timer.stop();
dialog.dispose();
}
testTimeoutLabel.setText(String.format("Test timeout: %s", convertMillisToTimeStr(leftTime)));
});
timer.start();
JTextArea textArea = new JTextArea(testInstruction);
textArea.setEditable(false);
final JButton startTestButton = new JButton("Start Test"); final JButton passButton = new JButton("PASS"); final JButton failButton = new JButton("FAIL");
startTestButton.addActionListener((e) -> {
startTestButton.setEnabled(false); newThread(() -> { try {
doTest();
SwingUtilities.invokeLater(() -> {
passButton.setEnabled(true);
failButton.setEnabled(true);
});
} catch (Throwable t) {
t.printStackTrace();
dialog.dispose();
fail("Exception occurred in a thread executing the test.");
}
}).start();
});
passButton.setEnabled(false);
passButton.addActionListener((e) -> {
dialog.dispose();
pass();
});
failButton.setEnabled(false);
failButton.addActionListener((e) -> {
dialog.dispose();
fail("Transparent ring colors are not printed correctly");
});
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.