📄 compierecoloreditor.java
字号:
if (color == null && m_cc != null)
return;
//
// System.out.println("CompiereColorEditor.setColor " + color);
m_cc = color;
if (m_cc == null)
m_cc = CompierePanelUI.getDefaultBackground();
// update display
updateFields();
centerPanel.setBackgroundColor(m_cc);
centerPanel.repaint();
} // setColor
/**
* UpdateField from CompiereColor
*/
private void updateFields()
{
m_setting = true;
// Type
for (int i = 0; i < CompiereColor.TYPES.length; i++)
{
if (m_cc.getType().equals(CompiereColor.TYPE_VALUES[i]))
{
typeField.setSelectedItem(CompiereColor.TYPES[i]);
break;
}
}
//
if (m_cc.isFlat())
{
flatField.setVisible(true);
gradientUpper.setVisible(false);
gradientLower.setVisible(false);
gradientStartLabel.setVisible(false);
gradientDistanceLabel.setVisible(false);
gradientStartField.setVisible(false);
gradientDistanceField.setVisible(false);
urlLabel.setVisible(false);
urlField.setVisible(false);
alphaLabel.setVisible(false);
alphaField.setVisible(false);
taintColor.setVisible(false);
lineColor.setVisible(false);
backColor.setVisible(false);
widthLabel.setVisible(false);
widthField.setVisible(false);
distanceLabel.setVisible(false);
distanceField.setVisible(false);
//
flatField.setBackground(m_cc.getFlatColor());
}
else if (m_cc.isGradient())
{
flatField.setVisible(false);
gradientUpper.setVisible(true);
gradientLower.setVisible(true);
gradientStartLabel.setVisible(true);
gradientDistanceLabel.setVisible(true);
gradientStartField.setVisible(true);
gradientDistanceField.setVisible(true);
urlLabel.setVisible(false);
urlField.setVisible(false);
alphaLabel.setVisible(false);
alphaField.setVisible(false);
taintColor.setVisible(false);
lineColor.setVisible(false);
backColor.setVisible(false);
widthLabel.setVisible(false);
widthField.setVisible(false);
distanceLabel.setVisible(false);
distanceField.setVisible(false);
//
gradientUpper.setBackground(m_cc.getGradientUpperColor());
gradientLower.setBackground(m_cc.getGradientLowerColor());
gradientDistanceField.setText(String.valueOf(m_cc.getGradientRepeatDistance()));
for (int i = 0; i < CompiereColor.GRADIENT_SP.length; i++)
{
if (m_cc.getGradientStartPoint() == CompiereColor.GRADIENT_SP_VALUES[i])
{
gradientStartField.setSelectedItem(CompiereColor.GRADIENT_SP[i]);
break;
}
}
}
else if (m_cc.isTexture())
{
flatField.setVisible(false);
gradientUpper.setVisible(false);
gradientLower.setVisible(false);
gradientStartLabel.setVisible(false);
gradientDistanceLabel.setVisible(false);
gradientStartField.setVisible(false);
gradientDistanceField.setVisible(false);
urlLabel.setVisible(true);
urlField.setVisible(true);
alphaLabel.setVisible(true);
alphaField.setVisible(true);
taintColor.setVisible(true);
lineColor.setVisible(false);
backColor.setVisible(false);
widthLabel.setVisible(false);
widthField.setVisible(false);
distanceLabel.setVisible(false);
distanceField.setVisible(false);
//
urlField.setText(m_cc.getTextureURL().toString());
alphaField.setText(String.valueOf(m_cc.getTextureCompositeAlpha()));
taintColor.setBackground(m_cc.getTextureTaintColor());
}
else if (m_cc.isLine())
{
flatField.setVisible(false);
gradientUpper.setVisible(false);
gradientLower.setVisible(false);
gradientStartLabel.setVisible(false);
gradientDistanceLabel.setVisible(false);
gradientStartField.setVisible(false);
gradientDistanceField.setVisible(false);
urlLabel.setVisible(false);
urlField.setVisible(false);
alphaLabel.setVisible(false);
alphaField.setVisible(false);
taintColor.setVisible(false);
lineColor.setVisible(true);
backColor.setVisible(true);
widthLabel.setVisible(true);
widthField.setVisible(true);
distanceLabel.setVisible(true);
distanceField.setVisible(true);
//
lineColor.setBackground(m_cc.getLineColor());
backColor.setBackground(m_cc.getLineBackColor());
widthField.setText(String.valueOf(m_cc.getLineWidth()));
distanceField.setText(String.valueOf(m_cc.getLineDistance()));
}
m_setting = false;
} // updateFields
/**
* Get Color
* @return Color, when saved - else null
*/
public CompiereColor getColor()
{
return m_cc;
} // getColor
/**
* Was the selection saved
* @return true if saved
*/
public boolean isSaved()
{
return m_saved;
} // m_saved
/*************************************************************************/
/**
* Set (or change) the object that is to be edited. Primitive types such
* as "int" must be wrapped as the corresponding object type such as
* "java.lang.Integer".
*
* @param value The new target object to be edited. Note that this
* object should not be modified by the PropertyEditor, rather
* the PropertyEditor should create a new object to hold any
* modified value.
*/
public void setValue(Object value)
{
if (value != null && value instanceof CompiereColor)
setColor (new CompiereColor((CompiereColor)value));
else
throw new IllegalArgumentException("CompiereColorEditor.setValue requires CompiereColor");
} // setValue
/**
* Gets the property value.
*
* @return The value of the property. Primitive types such as "int" will
* be wrapped as the corresponding object type such as "java.lang.Integer".
*/
public Object getValue()
{
return getColor();
} // getColor
/**
* Determines whether this property editor is paintable.
* @return True if the class will honor the paintValue method.
*/
public boolean isPaintable()
{
return false;
}
/**
* Paint a representation of the value into a given area of screen
* real estate. Note that the propertyEditor is responsible for doing
* its own clipping so that it fits into the given rectangle.
* <p>
* If the PropertyEditor doesn't honor paint requests (see isPaintable)
* this method should be a silent noop.
* <p>
* The given Graphics object will have the default font, color, etc of
* the parent container. The PropertyEditor may change graphics attributes
* such as font and color and doesn't need to restore the old values.
*
* @param gfx Graphics object to paint into.
* @param box Rectangle within graphics object into which we should paint.
*/
public void paintValue(Graphics gfx, Rectangle box)
{
/**@todo: Implement this java.beans.PropertyEditor method*/
throw new java.lang.UnsupportedOperationException("Method paintValue() not yet implemented.");
} // paintValue
/**
* This method is intended for use when generating Java code to set
* the value of the property. It should return a fragment of Java code
* that can be used to initialize a variable with the current property
* value.
* <p>
* Example results are "2", "new Color(127,127,34)", "Color.orange", etc.
*
* @return A fragment of Java code representing an initializer for the
* current value.
*/
public String getJavaInitializationString()
{
return "new CompiereColor()";
} // String getJavaInitializationString
/**
* Gets the property value as text.
*
* @return The property value as a human editable string.
* <p> Returns null if the value can't be expressed as an editable string.
* <p> If a non-null value is returned, then the PropertyEditor should
* be prepared to parse that string back in setAsText().
*/
public String getAsText()
{
return m_cc.toString();
} // getAsText
/**
* Set the property value by parsing a given String. May raise
* java.lang.IllegalArgumentException if either the String is
* badly formatted or if this kind of property can't be expressed
* as text.
* @param text The string to be parsed.
* @throws IllegalArgumentException
*/
public void setAsText(String text) throws java.lang.IllegalArgumentException
{
throw new java.lang.IllegalArgumentException("CompiereColorEditor.setAsText not supported");
} // setAsText
/**
* If the property value must be one of a set of known tagged values,
* then this method should return an array of the tags. This can
* be used to represent (for example) enum values. If a PropertyEditor
* supports tags, then it should support the use of setAsText with
* a tag value as a way of setting the value and the use of getAsText
* to identify the current value.
*
* @return The tag values for this property. May be null if this
* property cannot be represented as a tagged value.
*/
public String[] getTags()
{
return null;
} // getTags
/**
* A PropertyEditor may choose to make available a full custom Component
* that edits its property value. It is the responsibility of the
* PropertyEditor to hook itself up to its editor Component itself and
* to report property value changes by firing a PropertyChange event.
* <P>
* The higher-level code that calls getCustomEditor may either embed
* the Component in some larger property sheet, or it may put it in
* its own individual dialog, or ...
*
* @return A java.awt.Component that will allow a human to directly
* edit the current property value. May be null if this is
* not supported.
*/
public Component getCustomEditor()
{
return this;
} // getCustomEditor
/**
* Determines whether this property editor supports a custom editor.
* @return True if the propertyEditor can provide a custom editor.
*/
public boolean supportsCustomEditor()
{
return true;
} // supportsCustomEditor
/**
* Register a listener for the PropertyChange event. When a
* PropertyEditor changes its value it should fire a PropertyChange
* event on all registered PropertyChangeListeners, specifying the
* null value for the property name and itself as the source.
*
* @param listener An object to be invoked when a PropertyChange
* event is fired.
*/
public void addPropertyChangeListener(PropertyChangeListener listener)
{
super.addPropertyChangeListener(listener);
} // addPropertyChangeListener
/**
* Remove a listener for the PropertyChange event.
* @param listener The PropertyChange listener to be removed.
*/
public void removePropertyChangeListener(PropertyChangeListener listener)
{
super.removePropertyChangeListener(listener);
} // removePropertyChangeListener
} // CompiereColorEditor
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -