GWT RichTextArea组件

GWT RichTextArea组件 介绍

RichTextArea组件代表富文本编辑器,允许复杂的样式和格式。由于某些浏览器不支持富文本编辑,而其他浏览器仅支持有限的功能子集,因此有两个格式化程序接口,可通过 getBasicFormatter() 和 getExtendedFormatter() 访问。

一个完全不支持富文本编辑的浏览器会为这两个返回 null,一个只支持基本功能的浏览器会为后者 getExtendedFormatter() 返回 null。

GWT Button组件 声明

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

public class RichTextArea
   extends FocusWidget
      implements HasHTML, HasInitializeHandlers, HasSafeHtml

CSS 样式规则

以下默认 CSS 样式规则将应用于所有RichTextArea标签。您可以根据您的要求覆盖它。

.gwt-RichTextArea {}

GWT RichTextArea组件 构造方法

构造方法 描述
RichTextArea() 创建一个没有样式表的新的空白 RichTextArea 对象。

GWT RichTextArea组件 方法

方法 描述
HandlerRegistration addInitializeHandler(InitializeHandler handler) 添加 InitializeEvent 处理程序。
RichTextArea.BasicFormatter getBasicFormatter() 已弃用。请改用 getFormatter()。
RichTextArea.ExtendedFormatter getExtendedFormatter() 已弃用。请改用 getFormatter()。
RichTextArea.Formatter getFormatter() 获取富文本格式界面。
java.lang.String getHTML() 以 HTML 形式获取此对象的内容。
java.lang.String getText() 获取此对象的文本。
boolean isEnabled() 获取此小部件是否已启用。
protected void onAttach() 当小部件附加到浏览器的文档时会调用此方法。
protected void onDetach() 当小部件从浏览器的文档中分离时调用此方法。
void setEnabled(boolean enabled) 设置是否启用此小部件。
void setFocus(boolean focused) 显式聚焦/取消聚焦此小部件。
void setHTML(java.lang.String safeHtml) 通过安全的 HTML 设置此对象的内容。
void setHTML(java.lang.String html) 通过 HTML 设置此对象的内容。
void setText(java.lang.String text) 设置此对象的文本。

GWT RichTextArea组件 示例

1)修改HelloWorld.gwt.xml

<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.8.0//EN"
        "http://gwtproject.org/doctype/2.8.0/gwt-module.dtd">
<module rename-to="HelloWorld">

    <!-- Inherit the core Web Toolkit stuff.                  -->
    <inherits name='com.google.gwt.user.User'/>

    <!-- Specify the app entry point class.                   -->
    <entry-point class='com.yiidian.helloWorld.client.HelloWorld'/>


    <!-- Specify the app servlets.                   -->
    <servlet path='/HelloWorldService' class='com.yiidian.helloWorld.server.HelloWorldServiceImpl'/>

    <source path = 'client'/>
    <source path = 'shared'/>
</module>

2)修改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;
}

.gwt-Button {
    color:red;
}

.gwt-Green-Button {
    color:green;
}

.gwt-Blue-Button {
    color:blue;
}

3)修改HelloWorld.html

<html>
<head>
    <title>yiidian.com-GWT Hello World</title>
    <link type="text/css" rel="stylesheet" href="HelloWorld.css">
    <script type="text/javascript" language="javascript" src="HelloWorld/HelloWorld.nocache.js"></script>
</head>
<body>
<h1>Button Widget Demonstration</h1>
<div id = "gwtContainer"></div>
</body>
</html>

4)HelloWorld.java

package com.yiidian.helloWorld.client;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.*;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.DOM;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.ClickEvent;

/**
 * Entry point classes define <code>onModuleLoad()</code>
 */
public class HelloWorld implements EntryPoint {
    public void onModuleLoad() {

        //create buttons
        Button redButton = new Button("Red");
        Button greenButton = new Button("Green");
        Button blueButton = new Button("Blue");

        // use UIObject methods to set button properties.
        redButton.setWidth("100px");
        greenButton.setWidth("100px");
        blueButton.setWidth("100px");
        greenButton.addStyleName("gwt-Green-Button");
        blueButton.addStyleName("gwt-Blue-Button");

        //add a clickListener to the button
        redButton.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(ClickEvent event) {
                Window.alert("Red Button clicked!");
            }
        });

        //add a clickListener to the button
        greenButton.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(ClickEvent event) {
                Window.alert("Green Button clicked!");
            }
        });

        //add a clickListener to the button
        blueButton.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(ClickEvent event) {
                Window.alert("Blue Button clicked!");
            }
        });

        // Add button to the root panel.
        VerticalPanel panel = new VerticalPanel();
        panel.setSpacing(10);
        panel.add(redButton);
        panel.add(greenButton);
        panel.add(blueButton);

        RootPanel.get("gwtContainer").add(panel);
    }
}

运行应用程序,显示结果如下:

热门文章

优秀文章