@ -30,6 +30,7 @@ import com.fr.design.utils.ComponentUtils;
import com.fr.design.utils.gui.LayoutUtils ;
import com.fr.design.utils.gui.LayoutUtils ;
import com.fr.general.ComparatorUtils ;
import com.fr.general.ComparatorUtils ;
import com.fr.stable.ArrayUtils ;
import com.fr.stable.ArrayUtils ;
import com.fr.stable.StringUtils ;
import java.awt.LayoutManager ;
import java.awt.LayoutManager ;
import java.awt.Rectangle ;
import java.awt.Rectangle ;
@ -83,7 +84,14 @@ public class SelectionModel {
XCreator comp = designer . getComponentAt ( e ) ;
XCreator comp = designer . getComponentAt ( e ) ;
if ( e . getButton ( ) = = MouseEvent . BUTTON3 | | ( ! InputEventBaseOnOS . isControlDown ( e ) & & ! e . isShiftDown ( ) ) ) {
if ( e . getButton ( ) = = MouseEvent . BUTTON3 | | ( ! InputEventBaseOnOS . isControlDown ( e ) & & ! e . isShiftDown ( ) ) ) {
// 如果Ctrl或者Shift键盘没有按下,则清除已经选择的组件
// 如果Ctrl或者Shift键盘没有按下,则清除已经选择的组件
XCreator selectXCreator = selection . getSelectedCreator ( ) ;
if ( selectXCreator ! = null & & comp ! = null ) {
if ( StringUtils . equals ( selectXCreator . toData ( ) . getWidgetName ( ) , comp . toData ( ) . getWidgetName ( ) ) ) {
return ;
}
}
selection . reset ( ) ;
selection . reset ( ) ;
} else {
} else {
//按下Ctrl或者shift键时鼠标可以进行多选,两次点击同一控件就取消选中
//按下Ctrl或者shift键时鼠标可以进行多选,两次点击同一控件就取消选中
XLayoutContainer topLayout = XCreatorUtils . getHotspotContainer ( comp ) . getTopLayout ( ) ;
XLayoutContainer topLayout = XCreatorUtils . getHotspotContainer ( comp ) . getTopLayout ( ) ;