当前位置: 首页 > 文档资料 > GWT 入门教程 >

FocusPanel

优质
小牛编辑
134浏览
2023-12-01

介绍 (Introduction)

FocusPanel小部件表示一个简单的面板,使其内容可聚焦,并添加捕获鼠标和键盘事件的功能。

Class 声明 (Class Declaration)

以下是com.google.gwt.user.client.ui.FocusPanel类的声明 -

public class FocusPanel
   extends SimplePanel
      implements HasFocus, SourcesClickEvents, 
         SourcesMouseEvents, SourcesMouseWheelEvents, 
            HasAllMouseHandlers, HasClickHandlers, 
               HasDoubleClickHandlers, HasAllKeyHandlers,
                  HasAllFocusHandlers

类构造函数 (Class Constructors)

Sr.No.构造函数和描述
1

FocusPanel()

创建一个空焦点面板。

2

FocusPanel(Widget child)

使用给定的子窗口小部件创建新的焦点面板。

Class Methods

Sr.No.功能名称和描述
1

HandlerRegistration addBlurHandler(BlurHandler handler)

添加一个BlurEvent处理程序。

2

HandlerRegistration addClickHandler(ClickHandler handler)

添加ClickEvent处理程序。

3

void addClickListener(ClickListener listener)

已过时。 请改用addClickHandler(com.google.gwt.event.dom.client.ClickHandler)

4

HandlerRegistration addDoubleClickHandler (DoubleClickHandler handler)

添加DoubleClickEvent处理程序。

5

HandlerRegistration addFocusHandler(FocusHandler handler)

添加FocusEvent处理程序。

6

void addFocusListener (FocusListener listener)

已过时。 请改用addFocusHandler(com.google.gwt.event.dom.client.FocusHandler)

7

void addKeyboardListener (KeyboardListener listener)

已过时。 使用addKeyDownHandler(com.google.gwt.event.dom.client.KeyDownHandler),addKeyUpHandler(com.google.gwt.event.dom.client.KeyUpHandler)和addKeyPressHandler(com.google.gwt.event.dom.client.KeyPressHandler) )而不是

8

HandlerRegistration addKeyDownHandler (KeyDownHandler handler)

添加KeyDownEvent处理程序。

9

HandlerRegistration addKeyPressHandler (KeyPressHandler handler)

添加KeyPressEvent处理程序。

10

HandlerRegistration addKeyUpHandler (KeyUpHandler handler)

添加KeyUpEvent处理程序。

11

HandlerRegistration addMouseDownHandler (MouseDownHandler handler)

添加MouseDownEvent处理程序。

12

void addMouseListener(MouseListener listener)

已过时。 使用addMouseOverHandler(com.google.gwt.event.dom.client.MouseOverHandler),addMouseMoveHandler(com.google.gwt.event.dom.client.MouseMoveHandler),addMouseDownHandler(com.google.gwt.event.dom.client.MouseDownHandler) ),addMouseUpHandler(com.google.gwt.event.dom.client.MouseUpHandler)和addMouseOutHandler(com.google.gwt.event.dom.client.MouseOutHandler)代替

13

HandlerRegistration addMouseMoveHandler(MouseMoveHandler handler)

添加MouseMoveEvent处理程序。

14

HandlerRegistration addMouseOutHandler(MouseOutHandler handler)

添加MouseOutEvent处理程序。

15

HandlerRegistration addMouseOverHandler(MouseOverHandler handler)

添加MouseOverEvent处理程序。

16

HandlerRegistration addMouseUpHandler(MouseUpHandler handler)

添加MouseUpEvent处理程序。

17

HandlerRegistration addMouseWheelHandler(MouseWheelHandler handler)

添加MouseWheelEvent处理程序。

18

void addMouseWheelListener(MouseWheelListener listener)

已过时。 使用addMouseWheelHandler(com.google.gwt.event.dom.client.MouseWheelHandler)代替

19

int getTabIndex()

获取窗口小部件在选项卡索引中的位置。

20

void removeClickListener(ClickListener listener)

已过时。 对addClickHandler(com.google.gwt.event.dom.client.ClickHandler)返回的对象使用HandlerRegistration.removeHandler()方法

21

void removeFocusListener(FocusListener listener)

已过时。 对addFocusHandler(com.google.gwt.event.dom.client.FocusHandler)返回的对象使用HandlerRegistration.removeHandler()方法

22

void removeKeyboardListener(KeyboardListener listener)

已过时。 而是对add * Handler方法返回的对象使用HandlerRegistration.removeHandler()方法

23

void removeMouseListener(MouseListener listener)

已过时。 而是对add * Handler方法返回的对象使用HandlerRegistration.removeHandler()方法

24

void removeMouseWheelListener(MouseWheelListener listener)

已过时。 对addMouseWheelHandler(com.google.gwt.event.dom.client.MouseWheelHandler)返回的对象使用HandlerRegistration.removeHandler()方法

25

void setAccessKey(char key)

设置小部件的“访问密钥”。

26

void setFocus(boolean focused)

明确关注/取消聚焦此小部件。

27

void setTabIndex(int index)

设置窗口小部件在选项卡索引中的位置。

方法继承 (Methods Inherited)

该类继承以下类中的方法 -

  • com.google.gwt.user.client.ui.UIObject

  • com.google.gwt.user.client.ui.Widget

  • com.google.gwt.user.client.ui.Panel

  • com.google.gwt.user.client.ui.SimplePanel

  • java.lang.Object

FocusPanel小部件示例

此示例将指导您完成在GWT中显示FocusPanel Widget的使用的简单步骤。 按照以下步骤更新我们在GWT - Create Application的GWT应用程序GWT - Create Application章节 -

描述
1com.

包下创建一个名为HelloWorld的项目,如GWT - Create Application一章中所述。
2修改HelloWorld.gwt.xmlHelloWorld.cssHelloWorld.htmlHelloWorld.java ,如下所述。 保持其余文件不变。
3编译并运行应用程序以验证实现的逻辑的结果。

以下是修改后的模块描述符src/com.

/HelloWorld.gwt.xml 。

<?xml version = "1.0" encoding = "UTF-8"?>
<module rename-to = 'helloworld'>
   <!-- Inherit the core Web Toolkit stuff.                        -->
   <inherits name = 'com.google.gwt.user.User'/>
   <!-- Inherit the default GWT style sheet.                       -->
   <inherits name = 'com.google.gwt.user.theme.clean.Clean'/>
   <!-- Specify the app entry point class.                         -->
   <entry-point class = 'com.

.client.HelloWorld'/> <!-- Specify the paths for translatable code --> <source path= 'client'/> <source path = 'shared'/> </module>

以下是修改后的样式表文件war/HelloWorld.css

body {
   text-align: center;
   font-family: verdana, sans-serif;
}
h1 {
   font-size: 2em;
   font-weight: bold;
   color: #777777;
   margin: 40px 0px 70px;
   text-align: center;
}

以下是修改后的HTML主机文件war/HelloWorld.html

<html>
   <head>
      <title>Hello World</title>
      <link rel = "stylesheet" href = "HelloWorld.css"/>
      <script language = "javascript" src = "helloworld/helloworld.nocache.js">
      </script>
   </head>
   <body>
      <h1>FocusPanel Widget Demonstration</h1>
      <div id = "gwtContainer"></div>
   </body>
</html>

让我们有以下Java文件src/com.

/HelloWorld.java ,它将演示使用FocusPanel小部件。

package com.

.client; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.user.client.ui.DecoratorPanel; import com.google.gwt.user.client.ui.FocusPanel; import com.google.gwt.user.client.ui.HTML; import com.google.gwt.user.client.ui.RootPanel; public class HelloWorld implements EntryPoint { public void onModuleLoad() { // Create text HTML contents = new HTML("This is a FocusPanel." +" Click on the panel and it will attain focus."); //create focus panel with content FocusPanel focusPanel = new FocusPanel(contents); focusPanel.setSize("400px", "100px"); DecoratorPanel decoratorPanel = new DecoratorPanel(); decoratorPanel.add(focusPanel); // Add the widgets to the root panel. RootPanel.get().add(decoratorPanel); } }

一旦准备好完成所有更改,让我们像在GWT - 创建应用程序章节中那样在开发模式下编译和运行应用程序 。 如果您的应用程序一切正常,这将产生以下结果 -

GWT FocusPanel小工具