当前位置: 首页>>代码示例>>C++>>正文


C++ AwtTextComponent类代码示例

本文整理汇总了C++中AwtTextComponent的典型用法代码示例。如果您正苦于以下问题:C++ AwtTextComponent类的具体用法?C++ AwtTextComponent怎么用?C++ AwtTextComponent使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了AwtTextComponent类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: JNI_CHECK_PEER_GOTO

void AwtTextComponent::_SetText(void *param)
{
    JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);

    SetTextStruct *sts = (SetTextStruct *)param;
    jobject self = sts->textcomponent;
    jstring text = sts->text;

    AwtTextComponent *c = NULL;

    PDATA pData;
    JNI_CHECK_PEER_GOTO(self, ret);
    c = (AwtTextComponent *)pData;
    if (::IsWindow(c->GetHWnd()))
    {
        int length = env->GetStringLength(text);
        WCHAR* buffer = new WCHAR[length + 1];
        env->GetStringRegion(text, 0, length, reinterpret_cast<jchar*>(buffer));
        buffer[length] = 0;
        c->CheckLineSeparator(buffer);
        c->RemoveCR(buffer);
        c->SetText(buffer);
        delete[] buffer;
    }
ret:
    env->DeleteGlobalRef(self);
    env->DeleteGlobalRef(text);

    delete sts;
}
开发者ID:sakeinntojiu,项目名称:openjdk8-jdk,代码行数:30,代码来源:awt_TextComponent.cpp

示例2: Java_sun_awt_pocketpc_PPCTextComponentPeer_setText

JNIEXPORT void JNICALL
Java_sun_awt_pocketpc_PPCTextComponentPeer_setText (JNIEnv *env, 
                                                    jobject thisObj,
                                                    jstring text)
{
    CHECK_PEER(thisObj);
    AwtTextComponent* c = PDATA(AwtTextComponent, thisObj);

    int length = env->GetStringLength(text);
#ifndef UNICODE
    TCHAR* buffer = new TCHAR[length * 2 + 1];
    buffer = TO_WSTRING(text);
#else
    WCHAR* buffer = new WCHAR[length  + 1];
    env->GetStringRegion(text, 0, length, (jchar*)buffer);
    buffer[length] = 0; //or it should be TEXT('\0') or L'\0'???
#endif

    buffer = AwtTextComponent::AddCR(buffer, length);
    c->SetText(buffer);
    /* Fix for TCK bug: setText() does not generate valueChangedEvent */
    if (env->IsInstanceOf(c->GetTarget(), WCachedIDs.java_awt_TextAreaClass)) {
        c->WmNotify(EN_CHANGE);
    }
    delete[] buffer;
}
开发者ID:AllBinary,项目名称:phoneme-components-cdc,代码行数:26,代码来源:PPCTextComponentPeer.cpp

示例3: Java_sun_awt_pocketpc_PPCTextComponentPeer_getText

JNIEXPORT jstring JNICALL
Java_sun_awt_pocketpc_PPCTextComponentPeer_getText (JNIEnv *env, 
                                                    jobject thisObj)
{
    CHECK_PEER_RETURN(thisObj);
    int len;
    AwtTextComponent* c = PDATA(AwtTextComponent, thisObj);

    len = c->GetTextLength();
    jstring js;
    if (len == 0) {
        // Make java null string
        jchar *jc = new jchar[0];
	js = env->NewString(jc, 0);
	delete [] jc;
        ASSERT(!env->ExceptionCheck());
    } else {
#ifndef UNICODE
       char* buffer = new char[len+1];
       c->GetText(buffer, len+1);
       AwtTextComponent::RemoveCR(buffer);
       js = env->NewString(buffer, wcslen(buf)); // convert to unicode. right???
       delete[] buffer;
#else
       TCHAR *buffer = new TCHAR[len+1];
       c->GetText(buffer, len+1);
       AwtTextComponent::RemoveCR(buffer);
       js = TO_JSTRING((LPWSTR)buffer);
       //js = env->NewString(buffer, wcslen(buffer));
       delete[] buffer;
#endif
    }
    return js;
}
开发者ID:AllBinary,项目名称:phoneme-components-cdc,代码行数:34,代码来源:PPCTextComponentPeer.cpp

示例4: Java_sun_awt_pocketpc_PPCTextComponentPeer_enableEditing

JNIEXPORT void JNICALL
Java_sun_awt_pocketpc_PPCTextComponentPeer_enableEditing (JNIEnv *env, 
                                                          jobject thisObj,
                                                          jboolean editable)
{
    CHECK_PEER(thisObj);
    AwtTextComponent* c = PDATA(AwtTextComponent, thisObj);
    c->SendMessage(EM_SETREADONLY, !editable);
}
开发者ID:AllBinary,项目名称:phoneme-components-cdc,代码行数:9,代码来源:PPCTextComponentPeer.cpp

示例5: Create

/* Create a new AwtTextArea or AwtTextField object and window.   */
AwtTextComponent* AwtTextComponent::Create(jobject peer, jobject parent, BOOL isMultiline)
{
    JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);

    jobject target = NULL;
    AwtTextComponent* c = NULL;

    try {
        if (env->EnsureLocalCapacity(1) < 0) {
            return NULL;
        }

        PDATA pData;
        AwtCanvas* awtParent;
        JNI_CHECK_PEER_GOTO(parent, done);

        awtParent = (AwtCanvas*)pData;
        JNI_CHECK_NULL_GOTO(awtParent, "null awtParent", done);

        target = env->GetObjectField(peer, AwtObject::targetID);
        JNI_CHECK_NULL_GOTO(target, "null target", done);

        if(isMultiline) {
            c = new AwtTextArea();
        } else {
            c = new AwtTextField();
        }

        {
            /* Adjust style for scrollbar visibility and word wrap  */
            DWORD scroll_style;

            if(isMultiline) {

                jint scrollbarVisibility =
                    env->GetIntField(target, AwtTextArea::scrollbarVisibilityID);

                switch (scrollbarVisibility) {
                case java_awt_TextArea_SCROLLBARS_NONE:
                    scroll_style = ES_AUTOVSCROLL;
                    break;
                case java_awt_TextArea_SCROLLBARS_VERTICAL_ONLY:
                    scroll_style = WS_VSCROLL | ES_AUTOVSCROLL;
                    break;
                case java_awt_TextArea_SCROLLBARS_HORIZONTAL_ONLY:
                    scroll_style = WS_HSCROLL | ES_AUTOHSCROLL | ES_AUTOVSCROLL;
                    break;
                case java_awt_TextArea_SCROLLBARS_BOTH:
                    scroll_style = WS_VSCROLL | WS_HSCROLL |
                                   ES_AUTOVSCROLL | ES_AUTOHSCROLL;
                    break;
                }
            }

            DWORD style = WS_CHILD | WS_CLIPSIBLINGS | ES_LEFT;

            /*
             * Specify ES_DISABLENOSCROLL - RichEdit control style to disable
             * scrollbars instead of hiding them when not needed.
             */
            style |= isMultiline ?  ES_MULTILINE | ES_WANTRETURN | scroll_style
                     | ES_DISABLENOSCROLL : ES_AUTOHSCROLL;


            DWORD exStyle = WS_EX_CLIENTEDGE;
            if (GetRTL()) {
                exStyle |= WS_EX_RIGHT | WS_EX_LEFTSCROLLBAR;
                if (GetRTLReadingOrder())
                    exStyle |= WS_EX_RTLREADING;
            }


            jint x = env->GetIntField(target, AwtComponent::xID);
            jint y = env->GetIntField(target, AwtComponent::yID);
            jint width = env->GetIntField(target, AwtComponent::widthID);
            jint height = env->GetIntField(target, AwtComponent::heightID);

            c->CreateHWnd(env, L"", style, exStyle,
                          x, y, width, height,
                          awtParent->GetHWnd(),
                          reinterpret_cast<HMENU>(static_cast<INT_PTR>(
                                  awtParent->CreateControlID())),
                          ::GetSysColor(COLOR_WINDOWTEXT),
                          ::GetSysColor(COLOR_WINDOW),
                          peer);

            // Fix for 4753116.
            // If it is not win95 (we are using Richedit 2.0)
            // we set plain text mode, in which the control is
            // similar to a standard edit control:
            //  - The text in a plain text control can have only
            //    one format.
            //  - The user cannot paste rich text formats, such as RTF
            //    or embedded objects into a plain text control.
            //  - Rich text mode controls always have a default
            //    end-of-document marker or carriage return,
            //    to format paragraphs.
            // [email protected]
            c->SendMessage(EM_SETTEXTMODE, TM_PLAINTEXT, 0);
//.........这里部分代码省略.........
开发者ID:sakeinntojiu,项目名称:openjdk8-jdk,代码行数:101,代码来源:awt_TextComponent.cpp


注:本文中的AwtTextComponent类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。