270 271 MenuButton mb1 = new MenuButton("Sample Text", btn); 272 mb1.setStyle("-fx-label-padding:0;"); 273 mb1.setContentDisplay(ContentDisplay.GRAPHIC_ONLY); 274 275 MenuButton mb2 = new MenuButton("Sample Text", btn); 276 mb2.setStyle("-fx-label-padding:100;"); 277 mb2.setContentDisplay(ContentDisplay.GRAPHIC_ONLY); 278 279 Scene scene = new Scene(new Group(mb1, mb2), 400, 400); 280 Stage stage = new Stage(); 281 stage.setScene(scene); 282 stage.show(); 283 Toolkit.getToolkit().firePulse(); 284 285 // label-padding should not affect GRAPHIC_ONLY MenuButton size 286 assertEquals(mb1.getWidth(), mb2.getWidth(), 0.00001); 287 assertEquals(mb1.getHeight(), mb2.getHeight(), 0.00001); 288 } 289 290 boolean onShowingPass; 291 boolean onShownPass; 292 boolean onHidingPass; 293 boolean onHiddenPass; 294 @Test public void test_jdk_8175963_showHideEvents() { 295 MenuItem it1 = new MenuItem("1"); 296 MenuButton mbtn = new MenuButton("MenuButton", null, it1); 297 298 mbtn.addEventHandler(MenuButton.ON_SHOWING, event -> { 299 assertEquals("event is not of type MenuButton.ON_SHOWING", 300 event.getEventType(), MenuButton.ON_SHOWING); 301 onShowingPass = true; 302 }); 303 mbtn.addEventHandler(MenuButton.ON_SHOWN, event -> { 304 assertEquals("event is not of type MenuButton.ON_SHOWN", 305 event.getEventType(), MenuButton.ON_SHOWN); 306 onShownPass = true; 307 }); 308 mbtn.addEventHandler(MenuButton.ON_HIDING, event -> { 309 assertEquals("event is not of type MenuButton.ON_HIDING", 310 event.getEventType(), MenuButton.ON_HIDING); 311 onHidingPass = true; 312 }); 313 mbtn.addEventHandler(MenuButton.ON_HIDDEN, event -> { 314 assertEquals("event is not of type MenuButton.ON_HIDDEN", 315 event.getEventType(), MenuButton.ON_HIDDEN); 316 onHiddenPass = true; 317 }); 318 319 mbtn.show(); 320 mbtn.hide(); 321 322 assertTrue("OnShowing event not received", onShowingPass); 323 assertTrue("onShown event not received", onShownPass); 324 assertTrue("onHiding event not received", onHidingPass); 325 assertTrue("onHidden event not received", onHiddenPass); 326 } 327 } | 270 271 MenuButton mb1 = new MenuButton("Sample Text", btn); 272 mb1.setStyle("-fx-label-padding:0;"); 273 mb1.setContentDisplay(ContentDisplay.GRAPHIC_ONLY); 274 275 MenuButton mb2 = new MenuButton("Sample Text", btn); 276 mb2.setStyle("-fx-label-padding:100;"); 277 mb2.setContentDisplay(ContentDisplay.GRAPHIC_ONLY); 278 279 Scene scene = new Scene(new Group(mb1, mb2), 400, 400); 280 Stage stage = new Stage(); 281 stage.setScene(scene); 282 stage.show(); 283 Toolkit.getToolkit().firePulse(); 284 285 // label-padding should not affect GRAPHIC_ONLY MenuButton size 286 assertEquals(mb1.getWidth(), mb2.getWidth(), 0.00001); 287 assertEquals(mb1.getHeight(), mb2.getHeight(), 0.00001); 288 } 289 290 int onShowingPass; 291 int onShownPass; 292 int onHidingPass; 293 int onHiddenPass; 294 // Test for JDK-8175963 295 @Test public void test_jdk_addOnShowHideEvents() { 296 onShowingPass = 0; 297 onShownPass = 0; 298 onHidingPass = 0; 299 onHiddenPass = 0; 300 MenuItem it1 = new MenuItem("1"); 301 MenuButton mbtn = new MenuButton("MenuButton", null, it1); 302 303 for (int i = 0; i < 5; ++i) { 304 mbtn.addEventHandler(MenuButton.ON_SHOWING, event -> { 305 assertEquals("event is not of type MenuButton.ON_SHOWING", 306 event.getEventType(), MenuButton.ON_SHOWING); 307 onShowingPass++; 308 }); 309 mbtn.addEventHandler(MenuButton.ON_SHOWN, event -> { 310 assertEquals("event is not of type MenuButton.ON_SHOWN", 311 event.getEventType(), MenuButton.ON_SHOWN); 312 onShownPass++; 313 }); 314 mbtn.addEventHandler(MenuButton.ON_HIDING, event -> { 315 assertEquals("event is not of type MenuButton.ON_HIDING", 316 event.getEventType(), MenuButton.ON_HIDING); 317 onHidingPass++; 318 }); 319 mbtn.addEventHandler(MenuButton.ON_HIDDEN, event -> { 320 assertEquals("event is not of type MenuButton.ON_HIDDEN", 321 event.getEventType(), MenuButton.ON_HIDDEN); 322 onHiddenPass++; 323 }); 324 } 325 326 mbtn.show(); 327 mbtn.hide(); 328 329 assertTrue("MenuButton.ON_SHOWING event should be received 5 times. but received: " 330 + onShowingPass + " times.", (5 == onShowingPass)); 331 assertTrue("MenuButton.ON_SHOWN event should be received 5 times. but received: " 332 + onShownPass + " times.", (5 == onShownPass)); 333 assertTrue("MenuButton.ON_HIDING event should be received 5 times. but received: " 334 + onHidingPass + " times.", (5 == onHidingPass)); 335 assertTrue("MenuButton.ON_HIDDEN event should be received 5 times. but received: " 336 + onHiddenPass + " times.", (5 == onHiddenPass)); 337 } 338 339 340 // Test for JDK-8177633 341 @Test public void test_jdk_setOnShowHideEvents() { 342 onShowingPass = 0; 343 onShownPass = 0; 344 onHidingPass = 0; 345 onHiddenPass = 0; 346 MenuItem it1 = new MenuItem("1"); 347 MenuButton mbtn = new MenuButton("MenuButton", null, it1); 348 for (int i = 0; i < 5; ++i) { 349 mbtn.setOnShowing(event -> { 350 assertEquals("event is not of type MenuButton.ON_SHOWING", 351 event.getEventType(), MenuButton.ON_SHOWING); 352 onShowingPass++;; 353 }); 354 mbtn.setOnShown(event -> { 355 assertEquals("event is not of type MenuButton.ON_SHOWN", 356 event.getEventType(), MenuButton.ON_SHOWN); 357 onShownPass++; 358 }); 359 mbtn.setOnHiding(event -> { 360 assertEquals("event is not of type MenuButton.ON_HIDING", 361 event.getEventType(), MenuButton.ON_HIDING); 362 onHidingPass++; 363 }); 364 mbtn.setOnHidden(event -> { 365 assertEquals("event is not of type MenuButton.ON_HIDDEN", 366 event.getEventType(), MenuButton.ON_HIDDEN); 367 onHiddenPass++; 368 }); 369 } 370 371 mbtn.show(); 372 mbtn.hide(); 373 374 assertTrue("MenuButton.ON_SHOWING event should be received only once. but received: " 375 + onShowingPass + " times.", (1 == onShowingPass)); 376 assertTrue("MenuButton.ON_SHOWN event should be received only once. but received: " 377 + onShownPass + " times.", (1 == onShownPass)); 378 assertTrue("MenuButton.ON_HIDING event should be received only once. but received: " 379 + onHidingPass + " times.", (1 == onHidingPass)); 380 assertTrue("MenuButton.ON_HIDDEN event should be received only once. but received: " 381 + onHiddenPass + " times.", (1 == onHiddenPass)); 382 } 383 } |