📄 sdatoolsbar.java
字号:
} public SDAToolButton addButton() { SDAToolButton button = new SDAToolButton(); controlList.addElement(button); repaintControl(); return button; } public SDAToolButton addButton( String caption) { SDAToolButton button = new SDAToolButton(); button.setCaption(caption); controlList.addElement(button); repaintControl(); return button; } public SDAToolButton addButton(Image image) { SDAToolButton button = new SDAToolButton(); button.setImage(image); controlList.addElement(button); repaintControl(); return button; } public SDAToolButton addButton(String caption, Image image) { SDAToolButton button = new SDAToolButton(); button.setCaption(caption); button.setImage(image); controlList.addElement(button); repaintControl(); return button; }//增加分割 public void addSeparator(SDAToolSeperator seperator) { if (!controlList.contains(seperator)) { controlList.addElement(seperator); repaintControl(); } } public SDAToolSeperator addSeparator() { SDAToolSeperator sp = new SDAToolSeperator(); controlList.addElement(sp); repaintControl(); return sp; } public int getBorderColor() { return borderColor; } public void setBorderColor(int borderColor) { this.borderColor = borderColor; } public boolean isAutoSizeButton() { return autoSizeButton; } public void setAutoSizeButton(boolean autoSizeButton) { this.autoSizeButton = autoSizeButton; } public byte getButtonAlignType() { return buttonAlignType; } public void setButtonAlignType(byte buttonAlignType) { this.buttonAlignType = buttonAlignType; } public boolean isShowCaption() { return showCaption; } public void setShowCaption(boolean showCaption) { this.showCaption = showCaption; } public boolean isShowButtonRect() { return showButtonRect; } public void setShowButtonRect(boolean showButtonRect) { this.showButtonRect = showButtonRect; } public Image getBackImage() { return backImage; } public void setBackImage(Image backImage) { this.backImage = backImage; } public boolean isStretchImage() { return stretchImage; } public void setStretchImage(boolean stretchImage) { this.stretchImage = stretchImage; } public int getGlyphAlignType() { return glyphAlignType; } public void setGlyphAlignType(int glyphAlignType) { this.glyphAlignType = glyphAlignType; } public int getButtonSize() { return buttonSize; } public void setButtonSize(int buttonSize) { this.buttonSize = buttonSize; }//组件处理 public void clear() { controlList.removeAllElements(); } private void prior() { //向前滚动 int index = controlList.indexOf(curButton); if (index > 0) { for (int i = index - 1; i > -1; i--) { if (controlList.elementAt(i) instanceof SDAToolButton) { curButton = (SDAToolButton) controlList.elementAt(i); doChange(); break; } } } } private void next() { //向后滚动 int index = controlList.indexOf(curButton); if (index < controlList.size() - 1) { for (int i = index + 1; i < controlList.size(); i++) { if (controlList.elementAt(i) instanceof SDAToolButton) { curButton = (SDAToolButton) controlList.elementAt(i); doChange(); break; } } } } private void doKeydown(int keyCode) { String key = form.getKeyName(keyCode).toUpperCase(); if ((key.equals(SDAConsts.KEY_LEFT) && (buttonAlignType == SDAConsts.ktHorizontal)) || (key.equals(SDAConsts.KEY_UP) && (buttonAlignType == SDAConsts.ktVertical))) { //左 prior(); repaintControl(); } if ((key.equals(SDAConsts.KEY_RIGHT) && (buttonAlignType == SDAConsts.ktHorizontal)) || (key.equals(SDAConsts.KEY_DOWN) && (buttonAlignType == SDAConsts.ktVertical))) { //右 next(); repaintControl(); } if (key.equals(SDAConsts.KEY_SELECT)) { if (curButton != null) { doClick(); } } } private void doPointerPress(int x, int y) { int posx = screenXToClient(x); int posy = screenYToClient(y); if (InClientRect(posx, posy, 0, 0, width, height)) { getButtonFromPoint(posx, posy); repaintControl(); if (curButton != null) { doClick(); } } } private void getButtonFromPoint(int x, int y) { int buttonPos = 2; boolean findButton = false; SDAToolButton button = null; if (buttonAlignType == SDAConsts.ktHorizontal) { //水平方向,判断x(相对坐标) for (int i = 0; i < controlList.size(); i++) { if (controlList.elementAt(i) instanceof SDAToolButton) { button = (SDAToolButton) controlList.elementAt(i); //判断是否在中间 if (x > buttonPos && x < buttonPos + button.getWidth()) { curButton = button; findButton = true; break; } buttonPos += button.getWidth() + 2; } else { buttonPos += ((SDAToolSeperator) controlList.elementAt(i)).getWidth(); } } } if (buttonAlignType == SDAConsts.ktVertical) { //水平方向,判断x(相对坐标) for (int i = 0; i < controlList.size(); i++) { if (controlList.elementAt(i) instanceof SDAToolButton) { button = (SDAToolButton) controlList.elementAt(i); //判断是否在中间 if (y > buttonPos && y < buttonPos + button.getHeight()) { curButton = button; findButton = true; break; } buttonPos += button.getHeight() + 2; } else { buttonPos += ((SDAToolSeperator) controlList.elementAt(i)).getHeight(); } } } if (!findButton) { curButton = null; } } public void setOnClickEvent(ToolsBarClickEvent onClickEvent) { this.onClickEvent = onClickEvent; } private void doClick() { if (onClickEvent != null) { onClickEvent.Event(curButton, controlList.indexOf(curButton)); } } public void setOnChangeEvent(ToolsBarOnChangeEvent onChangeEvent) { this.onChangeEvent = onChangeEvent; } private void doChange() { if (onChangeEvent != null) { onChangeEvent.Event(curButton); } } private boolean isFirst() { boolean result = true; int id = controlList.indexOf(curButton); for (int i = 0; i < id; i++) { if (controlList.elementAt(i) instanceof SDAToolButton) { result = false; } } return result; } private boolean isLast() { boolean result = true; int id = controlList.indexOf(curButton); for (int i = id + 1; i < controlList.size(); i++) { if (controlList.elementAt(i) instanceof SDAToolButton) { result = false; } } return result; } protected boolean canDownTabNext() { if (buttonAlignType == SDAConsts.ktHorizontal) { return true; } else { boolean result = false; if (isLast()) { result = true; } return result; } } protected boolean canLeftTabPrior() { if (buttonAlignType == SDAConsts.ktHorizontal) { boolean result = false; if (isFirst()) { result = true; } return result; } else { return true; } } protected boolean canRightTabNext() { if (buttonAlignType == SDAConsts.ktHorizontal) { boolean result = false; if (isLast()) { result = true; } return result; } else { return true; } } protected boolean canUpTabPrior() { if (buttonAlignType == SDAConsts.ktHorizontal) { return true; } else { boolean result = false; if (isFirst()) { result = true; } return result; } } public int getFocusButtonBackColor() { return focusButtonBackColor; } public void setFocusButtonBackColor(int focusButtonBackColor) { this.focusButtonBackColor = focusButtonBackColor; } public int getFocusButtonForeColor() { return focusButtonForeColor; } public void setFocusButtonForeColor(int focusButtonForeColor) { this.focusButtonForeColor = focusButtonForeColor; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -