/* * Copyright (c) 2009, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions.
*/
/** * @test * @bug 8178430 * @summary JMenu in GridBagLayout flickers when label text shows "..." and * is updated * @key headful * @run main LabelDotTest
*/
publicclass LabelDotTest
{ privatefinalstatic String longText = "show a very long text to have it " + "automatically shortened"; privatefinalstatic String shortText = "show short text";
label = new JLabel(shortText);
frame.add(label, c);
frame.setVisible(true);
}
privatestaticvoid runTest(int iterations) throws Exception{
Robot robot = new Robot();
IntStream.range(0, iterations).forEach((i) -> {
SwingUtilities.invokeLater(() -> { if (label.getText().equals(shortText)) {
label.setText(longText);
} else {
label.setText(shortText);
} /* For a top level menu item, minimum size and the preferred size should be the same, and should not be equal to 1. Save the exception state and throw later once the iterations are completed.
*/
isException = (menu.getMinimumSize().height == 1 &&
!menu.getMinimumSize().equals(menu.getPreferredSize())) ||
isException;
});
robot.waitForIdle();
});
}
publicstaticvoid main(String[] args) throws Exception { try {
SwingUtilities.invokeAndWait(() -> createUI());
runTest(50);
} finally { if (frame != null) {
SwingUtilities.invokeAndWait(() -> frame.dispose());
} if (isException) thrownew RuntimeException("Size of Menu bar is not correct.");
}
}
}
Messung V0.5
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet)
¤
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.