javax.swing.JList#getListSelectionListeners ( )源码实例Demo

下面列出了javax.swing.JList#getListSelectionListeners ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

@Test
public void testInitialize() throws Exception {
  ParameterValues paramValues = mock( ParameterValues.class );
  Calendar cal = Calendar.getInstance();
  cal.set( 2015, 5, 10 );
  Set<Object> keys = new HashSet<Object>();
  keys.add( "key_0" );
  keys.add( new BigDecimal( 1.0 ) );
  keys.add( cal.getTime() );
  doReturn( keys ).when( updateContext ).getParameterValue( PARAM_NAME );
  doReturn( paramValues ).when( listParameter ).getValues( parameterContext );
  doReturn( 3 ).when( paramValues ).getRowCount();
  doReturn( "key_0" ).when( paramValues ).getKeyValue( 0 );
  doReturn( new BigDecimal( 1.1 ) ).when( paramValues ).getKeyValue( 1 );
  cal.add( Calendar.DAY_OF_MONTH, 2 );
  doReturn( cal.getTime() ).when( paramValues ).getKeyValue( 2 );
  doReturn( "val_0" ).when( paramValues ).getTextValue( 0 );
  doReturn( "val_1" ).when( paramValues ).getTextValue( 1 );
  doReturn( "val_2" ).when( paramValues ).getTextValue( 2 );

  testCreateListComponent();
  comp.initialize();

  JList list = findView( comp );
  assertThat( list, is( notNullValue() ) );
  assertThat( list.getModel(), is( instanceOf( KeyedComboBoxModel.class ) ) );
  assertThat( (String) list.getSelectedValue(), is( equalTo( "val_0" ) ) );

  ListSelectionEvent evt = mock( ListSelectionEvent.class );
  doReturn( true ).when( evt ).getValueIsAdjusting();

  ListSelectionListener listener = list.getListSelectionListeners()[0];
  listener.valueChanged( evt );
  verify( updateContext, never() ).setParameterValue( anyString(), anyObject() );

  doReturn( false ).when( evt ).getValueIsAdjusting();

  listener.valueChanged( evt );
  verify( updateContext ).setParameterValue( PARAM_NAME, "key_0" );

  doReturn( "key_incorrect" ).when( paramValues ).getKeyValue( 0 );
  comp.initialize();
  list = findView( comp );
  assertThat( list, is( notNullValue() ) );
  assertThat( list.getModel(), is( instanceOf( KeyedComboBoxModel.class ) ) );
  assertThat( (String) list.getSelectedValue(), is( nullValue() ) );
  listener = list.getListSelectionListeners()[0];
  listener.valueChanged( evt );
  verify( updateContext ).setParameterValue( PARAM_NAME, null );
}
 
@Test
public void testInitializeMultiple() throws Exception {
  ParameterValues paramValues = mock( ParameterValues.class );
  Calendar cal = Calendar.getInstance();
  cal.set( 2015, 5, 10 );
  Set<Object> keys = new HashSet<Object>();
  keys.add( "key_0" );
  keys.add( new BigDecimal( 1.0 ) );
  keys.add( cal.getTime() );
  keys.add( "key_3" );
  doReturn( keys ).when( updateContext ).getParameterValue( PARAM_NAME );
  doReturn( paramValues ).when( listParameter ).getValues( parameterContext );
  doReturn( 3 ).when( paramValues ).getRowCount();
  doReturn( "key_0" ).when( paramValues ).getKeyValue( 0 );
  doReturn( new BigDecimal( 1.1 ) ).when( paramValues ).getKeyValue( 1 );
  cal.add( Calendar.DAY_OF_MONTH, 2 );
  doReturn( cal.getTime() ).when( paramValues ).getKeyValue( 2 );
  doReturn( "val_0" ).when( paramValues ).getTextValue( 0 );
  doReturn( "val_1" ).when( paramValues ).getTextValue( 1 );
  doReturn( "val_2" ).when( paramValues ).getTextValue( 2 );

  testCreateMultipleListComponent();
  comp.initialize();

  JList list = findView( comp );
  assertThat( list, is( notNullValue() ) );
  assertThat( list.getModel(), is( instanceOf( KeyedComboBoxModel.class ) ) );
  assertThat( list.getSelectedValuesList().size(), is( equalTo( 1 ) ) );
  assertThat( (String) list.getSelectedValue(), is( equalTo( "val_0" ) ) );

  ListSelectionEvent evt = mock( ListSelectionEvent.class );
  doReturn( true ).when( evt ).getValueIsAdjusting();
  ListSelectionListener listener = list.getListSelectionListeners()[0];
  listener.valueChanged( evt );
  verify( updateContext, never() ).setParameterValue( anyString(), anyObject() );

  doReturn( false ).when( evt ).getValueIsAdjusting();

  listener.valueChanged( evt );
  verify( updateContext ).setParameterValue( PARAM_NAME, new String[] { "key_0" } );
}