Browse Source

提一波设计器代码

persist/11.0-arabic
obo 8 months ago
parent
commit
1c88934503
  1. 5
      designer-base/src/main/java/com/fr/base/i18n/BidiUtils.java
  2. 4
      designer-base/src/main/java/com/fr/design/gui/imenu/UIMenuEastAttrItem.java
  3. 6
      designer-realize/src/main/java/com/fr/design/cell/editor/TextCellEditor.java

5
designer-base/src/main/java/com/fr/base/i18n/BidiUtils.java

@ -28,6 +28,11 @@ public class BidiUtils {
return component;
}
public static <T extends Component> T setOrientationByLocale(T component) {
component.setComponentOrientation(ComponentOrientation.getOrientation(ar));
return component;
}
public static void applyOrientationByLocale(Component... components) {
for (Component component : components) {
component.applyComponentOrientation(ComponentOrientation.getOrientation(ar));

4
designer-base/src/main/java/com/fr/design/gui/imenu/UIMenuEastAttrItem.java

@ -79,7 +79,7 @@ public class UIMenuEastAttrItem extends JMenuItem {
protected void paintText(Graphics g, JMenuItem menuItem, Rectangle textRect, String text) {
ButtonModel model = menuItem.getModel();
FontMetrics fm = SwingUtilities2.getFontMetrics(menuItem, g);
int startX = BidiUtils.rtl() ? textRect.x + 25 : 0;
if(!model.isEnabled()) {
// *** paint the text disabled
if ( UIManager.get("MenuItem.disabledForeground") instanceof Color ) {
@ -98,7 +98,7 @@ public class UIMenuEastAttrItem extends JMenuItem {
} else {
menuItem.setForeground(isArmed() ? Color.white : Color.black);
SwingUtilities2.drawStringUnderlineCharAt(menuItem, g, text,
-1, 0, textRect.y + fm.getAscent());
-1, startX , textRect.y + fm.getAscent());
}
}
}

6
designer-realize/src/main/java/com/fr/design/cell/editor/TextCellEditor.java

@ -4,18 +4,23 @@
package com.fr.design.cell.editor;
import java.awt.Component;
import java.awt.ComponentOrientation;
import java.awt.Dimension;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.text.Bidi;
import javax.swing.BorderFactory;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import com.fr.base.Style;
import com.fr.base.Utils;
import com.fr.base.i18n.BidiUtils;
import com.fr.design.gui.itextfield.EditTextField;
import com.fr.grid.Grid;
import com.fr.quickeditor.cellquick.CellStringQuickEditor;
@ -52,6 +57,7 @@ public class TextCellEditor extends AbstractCellEditor {
this.textField.getDocument().addDocumentListener(documentlistener);
//兼容JDK1.4
this.textField.setFocusTraversalKeysEnabled(false);
BidiUtils.setOrientationByLocale(this.textField);
}
DocumentListener documentlistener = new DocumentListener() {

Loading…
Cancel
Save