public void setSelected9PinPrinterModel( final String selectedPrinterModel ) { final int size = epson9Printers.getSize(); for ( int i = 0; i < size; i++ ) { final PrinterSpecification spec = (PrinterSpecification) epson9Printers.getKeyAt( i ); if ( spec.getDisplayName().equals( selectedPrinterModel ) ) { epson9Printers.setSelectedKey( spec ); return; } } epson9Printers.setSelectedKey( null ); }
/** * Replaces the data in this combobox model. The number of keys must be equals to the number of values. * * @param keys the keys * @param values the values */ public void setData( final K[] keys, final V[] values ) { if ( values.length != keys.length ) { throw new IllegalArgumentException( "Values and text must have the same length." ); } data.clear(); data.ensureCapacity( keys.length ); for ( int i = 0; i < values.length; i++ ) { add( keys[ i ], values[ i ] ); } selectedItemIndex = -1; final ListDataEvent evt = new ListDataEvent ( this, ListDataEvent.CONTENTS_CHANGED, 0, data.size() - 1 ); fireListDataEvent( evt ); }
public void setSelectedValue( final V anItem ) { final int oldSelectedItem = this.selectedItemIndex; final int newSelectedItem = findElementIndex( anItem ); if ( newSelectedItem == -1 ) { if ( isAllowOtherValue() ) { selectedItemIndex = -1; selectedItemValue = anItem; } else { selectedItemIndex = -1; selectedItemValue = null; } } else { selectedItemIndex = newSelectedItem; selectedItemValue = getElementAt( selectedItemIndex ); } if ( oldSelectedItem != this.selectedItemIndex ) { fireListDataEvent( new ListDataEvent( this, ListDataEvent.CONTENTS_CHANGED, -1, -1 ) ); } }
private void updateZoomModel( final double zoom ) { for ( int i = 0; i < zoomModel.getSize(); i++ ) { final Object o = zoomModel.getKeyAt( i ); if ( o instanceof Double ) { Double d = (Double) o; if ( d.doubleValue() == zoom ) { zoomModel.setSelectedKey( d ); return; } } } zoomModel.setSelectedItem( formatZoomText( zoom ) ); }
@Test public void testCreateModel() throws Exception { ListParameter parameter = mock( ListParameter.class ); ParameterContext parameterContext = mock( ParameterContext.class ); ParameterValues paramValues = mock( ParameterValues.class ); doReturn( paramValues ).when( parameter ).getValues( parameterContext ); doReturn( 2 ).when( paramValues ).getRowCount(); doReturn( "key_0" ).when( paramValues ).getKeyValue( 0 ); doReturn( "key_1" ).when( paramValues ).getKeyValue( 1 ); doReturn( "val_0" ).when( paramValues ).getTextValue( 0 ); doReturn( "val_1" ).when( paramValues ).getTextValue( 1 ); KeyedComboBoxModel<Object, Object> result = DefaultParameterComponentFactory.createModel( parameter, parameterContext ); assertThat( result, is( notNullValue() ) ); assertThat( result.getSize(), is( equalTo( 2 ) ) ); assertThat( (String) result.getKeyAt( 0 ), is( equalTo( "key_0" ) ) ); assertThat( (String) result.getElementAt( 0 ), is( equalTo( "val_0" ) ) ); assertThat( (String) result.getKeyAt( 1 ), is( equalTo( "key_1" ) ) ); assertThat( (String) result.getElementAt( 1 ), is( equalTo( "val_1" ) ) ); }
applyDefinedDimension( configuration ); final Double key = zoomModel.getSelectedKey(); zoomModel.clear(); for ( int i = 0; i < PreviewPane.ZOOM_FACTORS.length; i++ ) { zoomModel.add( new Double( PreviewPane.ZOOM_FACTORS[i] ), formatZoomText( PreviewPane.ZOOM_FACTORS[i] ) ); zoomModel.setSelectedKey( key );
/** * Defines the selected key. If the object is not in the list of values, no item gets selected. * * @param anItem the new selected item. */ public void setSelectedKey( final K anItem ) { final int oldSelectedItem = this.selectedItemIndex; final int newSelectedItem = findDataElementIndex( anItem ); if ( newSelectedItem == -1 ) { selectedItemIndex = -1; selectedItemValue = null; } else { selectedItemIndex = newSelectedItem; selectedItemValue = getElementAt( selectedItemIndex ); } if ( oldSelectedItem != this.selectedItemIndex ) { fireListDataEvent( new ListDataEvent( this, ListDataEvent.CONTENTS_CHANGED, -1, -1 ) ); } }
/** * Removes all entries from the model. */ public void clear() { final int size = getSize(); data.clear(); fireListDataEvent( new ListDataEvent( this, ListDataEvent.INTERVAL_REMOVED, 0, size - 1 ) ); selectedItemIndex = -1; selectedItemValue = null; fireListDataEvent( new ListDataEvent( this, ListDataEvent.CONTENTS_CHANGED, -1, -1 ) ); }
/** * This method gets called when a bound property is changed. * * @param evt * A PropertyChangeEvent object describing the event source and the property that has changed. */ public void propertyChange( final PropertyChangeEvent evt ) { if ( "zoom".equals( evt.getPropertyName() ) == false ) { //$NON-NLS-1$ return; } final double zoom = getZoom(); pageDrawable.setZoom( zoom ); final KeyedComboBoxModel<Double, String> zoomModel = PreviewPane.this.getZoomModel(); zoomModel.setSelectedKey( new Double( zoom ) ); if ( zoomModel.getSelectedKey() == null ) { zoomModel.setSelectedItem( formatZoomText( zoom ) ); } drawablePanel.revalidate(); } }
public void actionPerformed( final ActionEvent e ) { if ( adjustingToExternalInput ) { return; } final Object theSource = e.getSource(); if ( theSource instanceof JComboBox ) { final JComboBox theComboBox = (JComboBox) theSource; final KeyedComboBoxModel theModel = (KeyedComboBoxModel) theComboBox.getModel(); updateContext.setParameterValue( key, theModel.getSelectedKey() ); } }
private KeyedComboBoxModel loadEpson24Printers() { final KeyedComboBoxModel epsonPrinters = new KeyedComboBoxModel(); final PrinterSpecificationManager spec24Manager = Epson24PinPrinterDriver.loadSpecificationManager(); final String[] printer24Names = spec24Manager.getPrinterNames(); Arrays.sort( printer24Names ); for ( int i = 0; i < printer24Names.length; i++ ) { final PrinterSpecification pspec = spec24Manager.getPrinter( printer24Names[i] ); epsonPrinters.add( pspec, pspec.getDisplayName() ); } return epsonPrinters; }
/** * Returns the selected data element or null if none is set. * * @return the selected data element. */ public K getSelectedKey() { return getKeyAt( selectedItemIndex ); }
public static KeyedComboBoxModel<Object, Object> createModel( final ListParameter parameter, final ParameterContext parameterContext ) throws ReportDataFactoryException { final ParameterValues paramValues = parameter.getValues( parameterContext ); final int count = paramValues.getRowCount(); final Object[] keys = new Object[count]; final Object[] values = new Object[count]; for ( int i = 0; i < count; i++ ) { final Object key = paramValues.getKeyValue( i ); keys[i] = key; values[i] = paramValues.getTextValue( i ); } final KeyedComboBoxModel<Object, Object> model = new KeyedComboBoxModel<Object, Object>(); model.setData( keys, values ); return model; } }
/** * Creates a new keyed combobox model for the given keys and values. Keys and values must have the same number of * items. * * @param keys the keys * @param values the values */ public KeyedComboBoxModel( final K[] keys, final V[] values ) { this(); setData( keys, values ); }
/** * Removes an entry from the model. * * @param key the key */ public void removeDataElement( final K key ) { final int idx = findDataElementIndex( key ); if ( idx == -1 ) { return; } data.remove( idx ); final ListDataEvent evt = new ListDataEvent ( this, ListDataEvent.INTERVAL_REMOVED, idx, idx ); fireListDataEvent( evt ); }
setLayout( new BorderLayout() ); zoomModel = new KeyedComboBoxModel(); zoomModel.setAllowOtherValue( true ); zoom = PreviewPane.ZOOM_FACTORS[PreviewPane.DEFAULT_ZOOM_INDEX];
public void initialize() throws ReportDataFactoryException { adjustingToExternalInput = true; try { final KeyedComboBoxModel keyedComboBoxModel = DefaultParameterComponentFactory.createModel( listParameter, parameterContext ); list.setModel( keyedComboBoxModel ); final ListSelectionModel selectionModel = list.getSelectionModel(); final Object value = updateContext.getParameterValue( listParameter.getName() ); final HashSet keylist = getNormalizedSet( value ); selectionModel.setValueIsAdjusting( true ); list.clearSelection(); final int size = keyedComboBoxModel.getSize(); for ( int i = 0; i < size; i++ ) { final Object key = keyedComboBoxModel.getKeyAt( i ); if ( isSafeMatch( key, keylist ) ) { selectionModel.addSelectionInterval( i, i ); } } selectionModel.setValueIsAdjusting( false ); } finally { adjustingToExternalInput = false; } }
/** * Invoked when an action occurs. * * @param e * the event. */ public void actionPerformed( final ActionEvent e ) { final Double selected = (Double) source.getSelectedKey(); if ( selected != null ) { pane.setZoom( selected.doubleValue() ); } } }
private KeyedComboBoxModel loadEpson9Printers() { final KeyedComboBoxModel epsonPrinters = new KeyedComboBoxModel(); final PrinterSpecificationManager spec9Manager = Epson9PinPrinterDriver.loadSpecificationManager(); final String[] printer9Names = spec9Manager.getPrinterNames(); Arrays.sort( printer9Names ); for ( int i = 0; i < printer9Names.length; i++ ) { final PrinterSpecification pspec = spec9Manager.getPrinter( printer9Names[i] ); epsonPrinters.add( pspec, pspec.getDisplayName() ); } return epsonPrinters; }