下面列出了java.beans.PropertyEditor#getCustomEditor ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private void btnSelectFontActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSelectFontActionPerformed
PropertyEditor pe = PropertyEditorManager.findEditor(Font.class);
if (pe != null) {
pe.setValue(outputOptions.getFont());
DialogDescriptor dd = new DialogDescriptor(pe.getCustomEditor(),
NbBundle.getMessage(Controller.class,
"LBL_Font_Chooser_Title")); //NOI18N
String defaultFont = NbBundle.getMessage(Controller.class,
"BTN_Defaul_Font"); //NOI18N
dd.setOptions(new Object[]{DialogDescriptor.OK_OPTION,
defaultFont, DialogDescriptor.CANCEL_OPTION}); //NOI18N
DialogDisplayer.getDefault().createDialog(dd).setVisible(true);
if (dd.getValue() == DialogDescriptor.OK_OPTION) {
Font f = (Font) pe.getValue();
outputOptions.setFont(f);
} else if (dd.getValue() == defaultFont) {
outputOptions.setFont(null);
}
updateFontField();
}
}
private void fontButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_fontButtonActionPerformed
PropertyEditor pe = PropertyEditorManager.findEditor(Font.class);
if (pe != null) {
pe.setValue(termOptions.getFont());
DialogDescriptor dd = new DialogDescriptor(pe.getCustomEditor(), FontChooser_title());
String defaultFontString = FontChooser_defaultFont_label();
dd.setOptions(new Object[]{DialogDescriptor.OK_OPTION,
defaultFontString, DialogDescriptor.CANCEL_OPTION}); //NOI18N
DialogDisplayer.getDefault().createDialog(dd).setVisible(true);
if (dd.getValue() == DialogDescriptor.OK_OPTION) {
Font f = (Font) pe.getValue();
termOptions.setFont(f);
applyTermOptions();
} else if (dd.getValue() == defaultFontString) {
Font controlFont = UIManager.getFont("controlFont"); //NOI18N
int fontSize = (controlFont == null) ? 12 : controlFont.getSize();
termOptions.setFont(new Font("monospaced", Font.PLAIN, fontSize)); //NOI18N
}
}
}
public CellEditorAdapter(PropertyEditor editor) {
this.editor = editor;
Component component = editor.getCustomEditor();
if (component instanceof JTextField) {
JTextField field = (JTextField)component;
field.addFocusListener(new SelectOnFocus());
field.addActionListener(new CommitEditing());
field.registerKeyboardAction(
new CancelEditing(),
KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0),
JComponent.WHEN_FOCUSED);
}
// when the editor notifies a change, commit the changes
editor.addPropertyChangeListener(new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent evt) {
stopCellEditing();
}
});
}
/**
* Tries to determine a view for the editor.
*
* @param editor the editor to get the view for
* @return the view, null if failed to determine one
*/
public static JComponent findView(PropertyEditor editor) {
JComponent result;
result = null;
if (editor.supportsCustomEditor() && editor.isPaintable()) {
result = new PropertyPanel(editor);
}
else if (editor.supportsCustomEditor() && (editor.getCustomEditor() instanceof JComponent)) {
result = (JComponent) editor.getCustomEditor();
}
else if (editor.getTags() != null) {
result = new PropertyValueSelector(editor);
}
else if (editor.getAsText() != null) {
result = new PropertyText(editor);
}
return result;
}
private void buttonFontActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonFontActionPerformed
final PropertyEditor editor = PropertyEditorManager.findEditor(Font.class);
if (editor == null) {
LOGGER.error("Can't find any font editor");
NbUtils.msgError(null, "Can't find editor! Unexpected state! Contact developer!");
return;
}
editor.setValue(this.config.getFont());
final DialogDescriptor descriptor = new DialogDescriptor(
editor.getCustomEditor(),
"Mind map font"
);
DialogDisplayer.getDefault().createDialog(descriptor).setVisible(true);
if (descriptor.getValue() == DialogDescriptor.OK_OPTION) {
this.config.setFont((Font) editor.getValue());
updateFontButton(this.config);
if (changeNotificationAllowed) {
this.controller.changed();
}
}
}
public CellEditorAdapter(PropertyEditor editor) {
this.editor = editor;
Component component = editor.getCustomEditor();
if (component instanceof JTextField) {
JTextField field = (JTextField)component;
field.addFocusListener(new SelectOnFocus());
field.addActionListener(new CommitEditing());
field.registerKeyboardAction(
new CancelEditing(),
KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0),
JComponent.WHEN_FOCUSED);
}
// when the editor notifies a change, commit the changes
editor.addPropertyChangeListener(new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent evt) {
stopCellEditing();
}
});
}
public boolean performEdit( final PropertyEditor editor ) {
if ( editor == null ) {
throw new NullPointerException();
}
final Object originalValue = editor.getValue();
final Component view = editor.getCustomEditor();
if ( view instanceof ValidatingPropertyEditorComponent ) {
validatingView = (ValidatingPropertyEditorComponent) view;
validatingView.addPropertyChangeListener( validationHandler );
} else {
validatingView = null;
}
contentPane.removeAll();
contentPane.add( new JScrollPane( view ), BorderLayout.CENTER );
if ( super.performEdit() == false ) {
try {
editor.setValue( originalValue );
} catch ( Exception ex ) {
// ignore ..
}
}
if ( validatingView != null ) {
validatingView.removePropertyChangeListener( validationHandler );
}
return isConfirmed();
}