package com.fr.quickeditor.cellquick; import com.fr.design.actions.core.ActionFactory; import com.fr.design.actions.insert.cell.BiasCellAction; import com.fr.design.cell.editor.BiasTextPainterCellEditor.BiasTextPainterPane; import com.fr.design.dialog.DialogActionAdapter; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; import com.fr.design.mainframe.DesignerContext; import com.fr.general.ComparatorUtils; import com.fr.general.Inter; import com.fr.quickeditor.CellQuickEditor; import com.fr.report.cell.painter.BiasTextPainter; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; /** * 单元格元素斜线编辑器 */ public class CellBiasTextPainterEditor extends CellQuickEditor { @Override public JComponent createCenterBody() { JPanel content = new JPanel(new BorderLayout()); UIButton editButton = new UIButton(Inter.getLocText("Edit")); editButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { showEditingDialog(); } }); editButton.setOpaque(false); content.add(TableLayoutHelper.createTableLayoutPane(new Component[][]{ new Component[]{emptyLabel, editButton}}, new double[]{TableLayout.PREFERRED}, new double[]{TableLayout.PREFERRED, TableLayout.FILL}), BorderLayout.CENTER); return content; } @Override public Object getComboBoxSelected() { return ActionFactory.createAction(BiasCellAction.class); } private void showEditingDialog() { final BiasTextPainter oldbiasTextPainter = (BiasTextPainter) cellElement.getValue(); final BiasTextPainterPane biasTextPainterPane = new BiasTextPainterPane(); biasTextPainterPane.populate(oldbiasTextPainter); biasTextPainterPane.showSmallWindow(DesignerContext.getDesignerFrame(), new DialogActionAdapter() { @Override public void doOk() { BiasTextPainter newbiasTextPainter = biasTextPainterPane.update(); if (!ComparatorUtils.equals(oldbiasTextPainter, newbiasTextPainter)) { cellElement.setValue(newbiasTextPainter); fireTargetModified(); } } }).setVisible(true); } @Override protected void refreshDetails() { } }