/** * Creates color combobox components for a given property. * * @param colorProperty The property to create the components for. * * @return A new color combobox. */ public static JComponent[] createColorComponents(Property colorProperty) { JComponent[] components = new JComponent[2]; components[0] = new JLabel(colorProperty.getDescriptor().getDisplayName() + ":"); components[1] = createColorCombobox(colorProperty); return components; }
@Override protected JPanel createPanel(BindingContext context) { TableLayout tableLayout = new TableLayout(2); tableLayout.setTableAnchor(TableLayout.Anchor.NORTHWEST); tableLayout.setTablePadding(new Insets(4, 10, 0, 0)); tableLayout.setTableFill(TableLayout.Fill.BOTH); tableLayout.setColumnWeightX(1, 1.0); JPanel pageUI = new JPanel(tableLayout); PropertyEditorRegistry registry = PropertyEditorRegistry.getInstance(); Property maskOverlayColor = context.getPropertySet().getProperty(PREFERENCE_KEY_MASK_COLOR); Property maskOverlayTransparency = context.getPropertySet().getProperty(PREFERENCE_KEY_MASK_TRANSPARENCY); JComponent[] maskOverlayColorComponents = PreferenceUtils.createColorComponents(maskOverlayColor); JComponent[] maskOverlayTransparencyComponents = registry.findPropertyEditor(maskOverlayTransparency.getDescriptor()).createComponents(maskOverlayTransparency.getDescriptor(), context); pageUI.add(maskOverlayColorComponents[0]); pageUI.add(maskOverlayColorComponents[1]); pageUI.add(maskOverlayTransparencyComponents[1]); pageUI.add(maskOverlayTransparencyComponents[0]); pageUI.add(tableLayout.createVerticalSpacer()); JPanel parent = new JPanel(new BorderLayout()); parent.add(pageUI, BorderLayout.CENTER); parent.add(Box.createHorizontalStrut(100), BorderLayout.EAST); return parent; }
JComponent[] latStepComponents = registry.findPropertyEditor(latStep.getDescriptor()).createComponents(latStep.getDescriptor(), context); JComponent[] lonStepComponents = registry.findPropertyEditor(lonStep.getDescriptor()).createComponents(lonStep.getDescriptor(), context); JComponent[] lineColorComponents = PreferenceUtils.createColorComponents(lineColor); JComponent[] lineWidthComponents = registry.findPropertyEditor(lineWidth.getDescriptor()).createComponents(lineWidth.getDescriptor(), context); JComponent[] lineTransparencyComponents = registry.findPropertyEditor(lineTransparency.getDescriptor()).createComponents(lineTransparency.getDescriptor(), context); JComponent[] showTextLabelsComponents = registry.findPropertyEditor(showTextLabels.getDescriptor()).createComponents(showTextLabels.getDescriptor(), context); textFgColorComponents = PreferenceUtils.createColorComponents(textFgColor); textBgColorComponents = PreferenceUtils.createColorComponents(textBgColor); JComponent[] textBgTransparencyComponents = registry.findPropertyEditor(textBgTransparency.getDescriptor()).createComponents(textBgTransparency.getDescriptor(), context); addNote(pageUI, "<html>Note: Deselect this option only very carefully. The latitude and longitude<br>" + "steps you enter will be used for low and high resolution products.</html>"); pageUI.add(avgGridSizeComponents[1]);
JComponent[] showSuppressedAgainComponent = registry.findPropertyEditor(showSuppressedAgain.getDescriptor()).createComponents(showSuppressedAgain.getDescriptor(), context); pageUI.add(PreferenceUtils.createTitleLabel("Display Settings")); pageUI.add(autoShowNavigationComponents[0]); pageUI.add(showNewBandsComponents[0]); pageUI.add(PreferenceUtils.createTitleLabel("Other Settings")); pageUI.add(showSuppressedAgainComponent[0]);
pageUI.add(PreferenceUtils.createTitleLabel("General Settings")); pageUI.add(snapToExactGeolocationComponents[0]); pageUI.add(pixelGeocodingfractionAccuracyComponents[0]); tableLayout.createHorizontalSpacer(); pageUI.add(PreferenceUtils.createTitleLabel("Display Settings")); pageUI.add(showGeoPosAsDecimalsComponents[0]); pageUI.add(showPixelPosAsDecimalsComponents[0]);
@Override protected JPanel createPanel(BindingContext context) { TableLayout tableLayout = new TableLayout(2); tableLayout.setTableAnchor(TableLayout.Anchor.NORTHWEST); tableLayout.setTablePadding(new Insets(4, 10, 0, 0)); tableLayout.setTableFill(TableLayout.Fill.BOTH); tableLayout.setColumnWeightX(1, 1.0); JPanel pageUI = new JPanel(tableLayout); PropertyEditorRegistry registry = PropertyEditorRegistry.getInstance(); Property noDataOverlayColor = context.getPropertySet().getProperty(PROPERTY_KEY_NO_DATA_OVERLAY_COLOR); Property noDataOverlayTransparency = context.getPropertySet().getProperty(PROPERTY_KEY_NO_DATA_OVERLAY_TRANSPARENCY); JComponent[] noDataOverlayColorComponents = PreferenceUtils.createColorComponents(noDataOverlayColor); JComponent[] noDataOverlayTransparencyComponents = registry.findPropertyEditor(noDataOverlayTransparency.getDescriptor()).createComponents(noDataOverlayTransparency.getDescriptor(), context); pageUI.add(noDataOverlayColorComponents[0]); pageUI.add(noDataOverlayColorComponents[1]); pageUI.add(noDataOverlayTransparencyComponents[1]); pageUI.add(noDataOverlayTransparencyComponents[0]); pageUI.add(tableLayout.createVerticalSpacer()); JPanel parent = new JPanel(new BorderLayout()); parent.add(pageUI, BorderLayout.CENTER); parent.add(Box.createHorizontalStrut(100), BorderLayout.EAST); return parent; }
Property pixelBorderColor = context.getPropertySet().getProperty(PROPERTY_KEY_PIXEL_BORDER_COLOR); JComponent[] backgroundColorComponents = PreferenceUtils.createColorComponents(backgroundColor); JComponent[] showImageBorderComponents = registry.findPropertyEditor(showImageBorder.getDescriptor()).createComponents(showImageBorder.getDescriptor(), context); JComponent[] imageBorderSizeComponents = registry.findPropertyEditor(imageBorderSize.getDescriptor()).createComponents(imageBorderSize.getDescriptor(), context); imageBorderColorComponents = PreferenceUtils.createColorComponents(imageBorderColor); JComponent[] showPixelBorderComponents = registry.findPropertyEditor(showPixelBorder.getDescriptor()).createComponents(showPixelBorder.getDescriptor(), context); JComponent[] pixelBorderSizeComponents = registry.findPropertyEditor(pixelBorderSize.getDescriptor()).createComponents(pixelBorderSize.getDescriptor(), context); pixelBorderColorComponents = PreferenceUtils.createColorComponents(pixelBorderColor);