📄 gwtclient.java
字号:
package com.java2s.gwt.client;import com.google.gwt.user.client.*;import com.google.gwt.user.client.ui.*;import com.google.gwt.core.client.*;public class GWTClient implements EntryPoint{ public void onModuleLoad() { RootPanel.get().add(new ToggleButton("images/close.png",16,16)); }}/* * Copyright 2006 Robert Hanson <iamroberthanson AT gmail.com> * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */class ToggleButton extends ImageButton{ private int trueState; public ToggleButton (String url, int width, int height) { super(url, width, height); } protected void init () { addMouseListener(new MouseListenerAdapter(){ public void onMouseEnter (Widget sender) { trueState = getState(); setState(ON_STATE); setColors(); } public void onMouseLeave (Widget sender) { setState(trueState); setColors(); } }); } public void setOn (boolean on) { if (on) { setState(ON_STATE); trueState = ON_STATE; } else { setState(OFF_STATE); trueState = OFF_STATE; } setColors(); } /** * Toggle button state * @param on */ public void toggle () { if (trueState == ON_STATE) { trueState = OFF_STATE; } else { trueState = ON_STATE; } setState(trueState); setColors(); }}/* * Copyright 2006 Robert Hanson <iamroberthanson AT gmail.com> * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *//** * Use an image as a button. Allows for setting of on/off * background color, border color, border width, and border * style. The "on" colors are used on mouse over. * * @author rhanson */class ImageButton extends PNGImage{ protected final static int ON_STATE = 1; protected final static int OFF_STATE = -1; private int state = OFF_STATE; private String onStyle = "gwl-ImageButton-On"; private String offStyle = "gwl-ImageButton-Off"; private Color backgroundOnColor = Color.NONE; private Color backgroundOffColor = Color.NONE; private Color borderOnColor = Color.BLACK; private Color borderOffColor = Color.NONE; private int borderOnWidth = 1; private int borderOffWidth = 0; private int paddingLeft = 0; private int paddingRight = 0; private int paddingTop = 0; private int paddingBottom = 0; private BorderStyleConstant borderOnStyle = BorderStyle.BORDER_STYLE_SOLID; private BorderStyleConstant borderOffStyle = BorderStyle.BORDER_STYLE_NONE; public ImageButton (String url, int width, int height) { super(url, width, height); setStyleName("gwl-image-button"); setColors(); init(); } protected void init () { addMouseListener(new MouseListenerAdapter(){ public void onMouseEnter (Widget sender) { state = ON_STATE; setColors(); } public void onMouseLeave (Widget sender) { state = OFF_STATE; setColors(); } }); } public boolean isOn () { return state == ON_STATE; } /** * Updates the colors of the widget based on the state * and color settings. This is usually only used after * setting one or more of the colors. */ public void setColors () { DOM.setStyleAttribute(getElement(), "paddingTop", getPaddingTopWidth() + "px"); DOM.setStyleAttribute(getElement(), "paddingRight", getPaddingRightWidth() + "px"); DOM.setStyleAttribute(getElement(), "paddingBottom", getPaddingBottomWidth() + "px"); DOM.setStyleAttribute(getElement(), "paddingLeft", getPaddingLeftWidth() + "px"); DOM.setStyleAttribute(getElement(), "borderWidth", getBorderWidth() + "px"); DOM.setStyleAttribute(getElement(), "borderColor", getBorderColor().getHexValue()); DOM.setStyleAttribute(getElement(), "borderStyle", getBorderStyle().getBorderStyleName()); DOM.setStyleAttribute(getElement(), "backgroundColor", getBackgroundColor().getHexValue()); setStyleName(getCssStyleName()); } private String getCssStyleName () { if (state == ON_STATE) return onStyle; else return offStyle; } private Color getBackgroundColor () { if (state == ON_STATE) return backgroundOnColor; else return backgroundOffColor; } private BorderStyleConstant getBorderStyle () { if (state == ON_STATE) return borderOnStyle; else return borderOffStyle; } private Color getBorderColor () { if (state == ON_STATE) return borderOnColor; else return borderOffColor; } private int getBorderWidth () { if (state == ON_STATE) return borderOnWidth; else return borderOffWidth; } private int getPaddingLeftWidth () { int max = (borderOnWidth > borderOffWidth) ? borderOnWidth : borderOffWidth; if (state == ON_STATE) { return (max - borderOnWidth + paddingLeft); } else { return (max - borderOffWidth + paddingLeft); } } private int getPaddingRightWidth () { int max = (borderOnWidth > borderOffWidth) ? borderOnWidth : borderOffWidth; if (state == ON_STATE) { return (max - borderOnWidth + paddingRight); } else { return (max - borderOffWidth + paddingRight); } } private int getPaddingTopWidth () { int max = (borderOnWidth > borderOffWidth) ? borderOnWidth : borderOffWidth; if (state == ON_STATE) { return (max - borderOnWidth + paddingTop); } else { return (max - borderOffWidth + paddingTop); } } private int getPaddingBottomWidth () { int max = (borderOnWidth > borderOffWidth) ? borderOnWidth : borderOffWidth; if (state == ON_STATE) { return (max - borderOnWidth + paddingBottom); } else { return (max - borderOffWidth + paddingBottom); } } /** * This method is under consideration for removal, * if you have an opion please comment on http://gwtwidgets.blogspot.com. */ public void setMargin (int px) { DOM.setStyleAttribute(getElement(), "margin", px + "px"); } /** * This method is under consideration for removal, * if you have an opion please comment on http://gwtwidgets.blogspot.com. */ public void setHorizontalMargin (int px) { DOM.setStyleAttribute(getElement(), "marginLeft", px + "px"); DOM.setStyleAttribute(getElement(), "marginRight", px + "px"); } /** * This method is under consideration for removal, * if you have an opion please comment on http://gwtwidgets.blogspot.com. */ public void setVerticleMargin (int px) { DOM.setStyleAttribute(getElement(), "marginTop", px + "px"); DOM.setStyleAttribute(getElement(), "marginBotom", px + "px"); } /** * This method is under consideration for removal, * if you have an opion please comment on http://gwtwidgets.blogspot.com. */ public Color getBackgroundOffColor () { return backgroundOffColor; } /** * This method is under consideration for removal, * if you have an opion please comment on http://gwtwidgets.blogspot.com. */ public void setBackgroundOffColor (Color backgroundOffColor) { this.backgroundOffColor = backgroundOffColor; } /** * This method is under consideration for removal, * if you have an opion please comment on http://gwtwidgets.blogspot.com. */ public Color getBackgroundOnColor () { return backgroundOnColor; } /** * This method is under consideration for removal, * if you have an opion please comment on http://gwtwidgets.blogspot.com. */ public void setBackgroundOnColor (Color backgroundOnColor) { this.backgroundOnColor = backgroundOnColor; } /** * This method is under consideration for removal, * if you have an opion please comment on http://gwtwidgets.blogspot.com. */ public Color getBorderOffColor () { return borderOffColor; } /** * This method is under consideration for removal, * if you have an opion please comment on http://gwtwidgets.blogspot.com. */ public void setBorderOffColor (Color borderOffColor) { this.borderOffColor = borderOffColor; } /** * This method is under consideration for removal, * if you have an opion please comment on http://gwtwidgets.blogspot.com. */ public BorderStyleConstant getBorderOffStyle () { return borderOffStyle; } /** * This method is under consideration for removal, * if you have an opion please comment on http://gwtwidgets.blogspot.com. */ public void setBorderOffStyle (BorderStyleConstant borderOffStyle) { this.borderOffStyle = borderOffStyle; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -