ダイアログ表示時のenableInputMethodsについ

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

ダイアログ表示時のenableInputMethodsについ

トモト電子工業� 角張
初めて投稿させていただきます。
誤りなどがありましたらご指摘いただけるとさいわいです。

掲題の件のソースと詳細を下記に記載致します。

フレーム
----------test_iframe----------
import javax.swing.*;

public class test_frame extends JFrame {
    public static void main(String args[]) {
        new test_frame();
    }

    public test_frame() {
        super("test");
        setSize(400,400);
        setVisible(true);
        JButton btn1 = new JButton("push");
        btn1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                new test_dialog();
            }
        });
        add(btn1);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}
-------------------------------

ダイアログ
----------test_dialog----------
import javax.swing.*;
import java.awt.*;

public class test_dialog extends JDialog {

    public test_dialog() {
        super();
        setSize(300, 200);
        setLayout(new FlowLayout());
        setVisible(true);
        TextField txf = new TextField(20);
        txf.enableInputMethods(false);
        add(txf);
    }
}
-------------------------------

表示されたダイアログのテキストフィールドにenableInputMethodsを設定していますが、IMEが無効となりません。
テキストフィールドの前(フォーカス順)に別のコンポーネントがあり、ダイアログ表示後、フォーカスがテキストフィールドに最初に当たらない場合はIMEが正しく無効となりました。
(例:ボタン→テキストフィールドの順でフォーカス遷移した場合、IMEは無効となる)


また、Dosプロンプトで実行したところIMEは正しく無効となりました。
そのため、netbeansのバグかと思い、問い合わせさせていただきました。

分かりづらい箇所等あるかと思いますが、ご確認宜しくお願い致します。
以上です。


Reply | Threaded
Open this post in threaded view
|

Re: ダイアログ表示時のenableInputMethodsについ

harada
 初めまして。
コンパイルしてコマンドプロンプトで動作させてみました。
Java1.6.0_43 => IMEが無効のまま
Java1.7.0_17 => IMEが有効になる
NetBeansで動作させているJavaVMが1.7でプロンプトでは1.6ということはないですか?
 とするとJava本体のバグのような気がします。

以上

-----Original Message-----
From: トモト電子工業� 角張 [mailto:[hidden email]]
Sent: Friday, December 06, 2013 11:35 AM
To: netbeansメーリス
Subject: [nbdiscuss_ja] ダイアログ表示時のenableInputMethodsについて

初めて投稿させていただきます。
誤りなどがありましたらご指摘いただけるとさいわいです。

掲題の件のソースと詳細を下記に記載致します。

フレーム
----------test_iframe----------
import javax.swing.*;

public class test_frame extends JFrame {
    public static void main(String args[]) {
        new test_frame();
    }

    public test_frame() {
        super("test");
        setSize(400,400);
        setVisible(true);
        JButton btn1 = new JButton("push");
        btn1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                new test_dialog();
            }
        });
        add(btn1);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}
-------------------------------

ダイアログ
----------test_dialog----------
import javax.swing.*;
import java.awt.*;

public class test_dialog extends JDialog {

    public test_dialog() {
        super();
        setSize(300, 200);
        setLayout(new FlowLayout());
        setVisible(true);
        TextField txf = new TextField(20);
        txf.enableInputMethods(false);
        add(txf);
    }
}
-------------------------------

表示されたダイアログのテキストフィールドにenableInputMethodsを設定していますが、IMEが無効となりません。
テキストフィールドの前(フォーカス順)に別のコンポーネントがあり、ダイアログ表示後、フォーカスがテキストフィールドに最初に当たらない場合はIMEが正しく無効となりました。
(例:ボタン→テキストフィールドの順でフォーカス遷移した場合、IMEは無効となる)


また、Dosプロンプトで実行したところIMEは正しく無効となりました。
そのため、netbeansのバグかと思い、問い合わせさせていただきました。

分かりづらい箇所等あるかと思いますが、ご確認宜しくお願い致します。
以上です。


Reply | Threaded
Open this post in threaded view
|

Re: ダイアログ表示時のenableInputMethodsについ

トモト電子工業� 角張
初めまして。
早急な確認・回答ありがとうございます。
> NetBeansで動作させているJavaVMが1.7でプロンプトでは1.6ということはないですか?
NetBeans:[ヘルプ]→[バージョン情報]→Java: 1.7.0_17;
               \Program Files\NetBeans 7.3\etc\netbeans.conf内
               netbeans_jdkhome="C:\Program Files\Java\jdk1.7.0_17"

プロンプト:[コントロールパネル]→[Java]→[バージョン情報]→(ビルド1.7.0_45-b18)
              プロンプトで「java -version」を実行→java version "1.7.0_45"

上記よりどちらも1.7以上で動作していると思います。(確認場所が違ったらすみません。。。)



----- Original Message -----
From: "Harada, Kazuyuki" <[hidden email]>
To: <[hidden email]>
Cc: <[hidden email]>
Sent: Monday, December 09, 2013 8:53 AM
Subject: RE: [nbdiscuss_ja] ダイアログ表示時のenableInputMethodsについて


>  初めまして。
> コンパイルしてコマンドプロンプトで動作させてみました。
> Java1.6.0_43 => IMEが無効のまま
> Java1.7.0_17 => IMEが有効になる
> NetBeansで動作させているJavaVMが1.7でプロンプトでは1.6ということはないですか?
>  とするとJava本体のバグのような気がします。
>
> 以上
>
> -----Original Message-----
> From: トモト電子工業� 角張 [mailto:[hidden email]]
> Sent: Friday, December 06, 2013 11:35 AM
> To: netbeansメーリス
> Subject: [nbdiscuss_ja] ダイアログ表示時のenableInputMethodsについて
>
> 初めて投稿させていただきます。
> 誤りなどがありましたらご指摘いただけるとさいわいです。
>
> 掲題の件のソースと詳細を下記に記載致します。
>
> フレーム
> ----------test_iframe----------
> import javax.swing.*;
>
> public class test_frame extends JFrame {
>    public static void main(String args[]) {
>        new test_frame();
>    }
>
>    public test_frame() {
>        super("test");
>        setSize(400,400);
>        setVisible(true);
>        JButton btn1 = new JButton("push");
>        btn1.addActionListener(new java.awt.event.ActionListener() {
>            public void actionPerformed(java.awt.event.ActionEvent evt) {
>                new test_dialog();
>            }
>        });
>        add(btn1);
>        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
>    }
> }
> -------------------------------
>
> ダイアログ
> ----------test_dialog----------
> import javax.swing.*;
> import java.awt.*;
>
> public class test_dialog extends JDialog {
>
>    public test_dialog() {
>        super();
>        setSize(300, 200);
>        setLayout(new FlowLayout());
>        setVisible(true);
>        TextField txf = new TextField(20);
>        txf.enableInputMethods(false);
>        add(txf);
>    }
> }
> -------------------------------
>
> 表示されたダイアログのテキストフィールドにenableInputMethodsを設定していますが、IMEが無効となりません。
> テキストフィールドの前(フォーカス順)に別のコンポーネントがあり、ダイアログ表示後、フォーカスがテキストフィールドに最初に当たらない場合はIMEが正しく無効となりました。
> (例:ボタン→テキストフィールドの順でフォーカス遷移した場合、IMEは無効となる)
>
>
>
> また、Dosプロンプトで実行したところIMEは正しく無効となりました。
> そのため、netbeansのバグかと思い、問い合わせさせていただきました。
>
> 分かりづらい箇所等あるかと思いますが、ご確認宜しくお願い致します。
> 以上です。
>
>


Reply | Threaded
Open this post in threaded view
|

Re: ダイアログ表示時のenableInputMethodsについ

Keitaro YOSHIMURA
よしむらです。
横から失礼します。

それ、Netbeans側が使ってるjava runtimeが古いじゃないですか。
それに、7u17と7u45の違いは大きいです。uXの奇数はセキュリティ修正なのでu45に合わせて再現するかどうか確認した方が良いとおもいますよ。


2013年12月9日 12:07 トモト電子工業� 角張 <[hidden email]>:

> 初めまして。
> 早急な確認・回答ありがとうございます。
>>
>> NetBeansで動作させているJavaVMが1.7でプロンプトでは1.6ということはないですか?
>
> NetBeans:[ヘルプ]→[バージョン情報]→Java: 1.7.0_17;
>               \Program Files\NetBeans 7.3\etc\netbeans.conf内
>               netbeans_jdkhome="C:\Program Files\Java\jdk1.7.0_17"
>
> プロンプト:[コントロールパネル]→[Java]→[バージョン情報]→(ビルド1.7.0_45-b18)
>              プロンプトで「java -version」を実行→java version "1.7.0_45"
>
> 上記よりどちらも1.7以上で動作していると思います。(確認場所が違ったらすみません。。。)
>
>
> ----- Original Message ----- From: "Harada, Kazuyuki"
> <[hidden email]>
> To: <[hidden email]>
> Cc: <[hidden email]>
> Sent: Monday, December 09, 2013 8:53 AM
> Subject: RE: [nbdiscuss_ja] ダイアログ表示時のenableInputMethodsについて
>
>
>
>>  初めまして。
>> コンパイルしてコマンドプロンプトで動作させてみました。
>> Java1.6.0_43 => IMEが無効のまま
>> Java1.7.0_17 => IMEが有効になる
>> NetBeansで動作させているJavaVMが1.7でプロンプトでは1.6ということはないですか?
>>  とするとJava本体のバグのような気がします。
>>
>> 以上
>>
>> -----Original Message-----
>> From: トモト電子工業� 角張 [mailto:[hidden email]]
>> Sent: Friday, December 06, 2013 11:35 AM
>> To: netbeansメーリス
>> Subject: [nbdiscuss_ja] ダイアログ表示時のenableInputMethodsについて
>>
>> 初めて投稿させていただきます。
>> 誤りなどがありましたらご指摘いただけるとさいわいです。
>>
>> 掲題の件のソースと詳細を下記に記載致します。
>>
>> フレーム
>> ----------test_iframe----------
>> import javax.swing.*;
>>
>> public class test_frame extends JFrame {
>>    public static void main(String args[]) {
>>        new test_frame();
>>    }
>>
>>    public test_frame() {
>>        super("test");
>>        setSize(400,400);
>>        setVisible(true);
>>        JButton btn1 = new JButton("push");
>>        btn1.addActionListener(new java.awt.event.ActionListener() {
>>            public void actionPerformed(java.awt.event.ActionEvent evt) {
>>                new test_dialog();
>>            }
>>        });
>>        add(btn1);
>>        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
>>    }
>> }
>> -------------------------------
>>
>> ダイアログ
>> ----------test_dialog----------
>> import javax.swing.*;
>> import java.awt.*;
>>
>> public class test_dialog extends JDialog {
>>
>>    public test_dialog() {
>>        super();
>>        setSize(300, 200);
>>        setLayout(new FlowLayout());
>>        setVisible(true);
>>        TextField txf = new TextField(20);
>>        txf.enableInputMethods(false);
>>        add(txf);
>>    }
>> }
>> -------------------------------
>>
>> 表示されたダイアログのテキストフィールドにenableInputMethodsを設定していますが、IMEが無効となりません。
>>
>> テキストフィールドの前(フォーカス順)に別のコンポーネントがあり、ダイアログ表示後、フォーカスがテキストフィールドに最初に当たらない場合はIMEが正しく無効となりました。
>> (例:ボタン→テキストフィールドの順でフォーカス遷移した場合、IMEは無効となる)
>>
>>
>> また、Dosプロンプトで実行したところIMEは正しく無効となりました。
>> そのため、netbeansのバグかと思い、問い合わせさせていただきました。
>>
>> 分かりづらい箇所等あるかと思いますが、ご確認宜しくお願い致します。
>> 以上です。
>>
>>
>
>



--
Keitaro YOSHIMURA <[hidden email]>
Reply | Threaded
Open this post in threaded view
|

Re: ダイアログ表示時のenableInputMethodsについ

トモト電子工業� 角張
マイナーナンバー(?)なのでそこまで違わないと決めつけてしまっていました。
NetBeans側のバージョンを"1.7.0_45"に合わせたところ、IMEが無効となることを確認できました。
今後、行き詰った場合にはしっかりとバージョンを合わせて検証したいと思います。

お騒がせしてしまい、申し訳ありませんでした。

また、Harada, Kazuyuki、よしむらさん回答をいただきありがとうございました。
とても勉強になりました。

----- Original Message -----
From: "Keitaro YOSHIMURA" <[hidden email]>
To: <[hidden email]>
Sent: Monday, December 09, 2013 12:44 PM
Subject: [nbdiscuss_ja] Re: ダイアログ表示時のenableInputMethodsについて


> よしむらです。
> 横から失礼します。
>
> それ、Netbeans側が使ってるjava runtimeが古いじゃないですか。
> それに、7u17と7u45の違いは大きいです。uXの奇数はセキュリティ修正なのでu45に合わせて再現するかどうか確認した方が良いとおもいますよ。
>
>
> 2013年12月9日 12:07 トモト電子工業� 角張 <[hidden email]>:
>> 初めまして。
>> 早急な確認・回答ありがとうございます。
>>>
>>> NetBeansで動作させているJavaVMが1.7でプロンプトでは1.6ということはないですか?
>>
>> NetBeans:[ヘルプ]→[バージョン情報]→Java: 1.7.0_17;
>>               \Program Files\NetBeans 7.3\etc\netbeans.conf内
>>               netbeans_jdkhome="C:\Program Files\Java\jdk1.7.0_17"
>>
>> プロンプト:[コントロールパネル]→[Java]→[バージョン情報]→(ビルド1.7.0_45-b18)
>>              プロンプトで「java -version」を実行→java version "1.7.0_45"
>>
>> 上記よりどちらも1.7以上で動作していると思います。(確認場所が違ったらすみません。。。)
>>
>>
>> ----- Original Message ----- From: "Harada, Kazuyuki"
>> <[hidden email]>
>> To: <[hidden email]>
>> Cc: <[hidden email]>
>> Sent: Monday, December 09, 2013 8:53 AM
>> Subject: RE: [nbdiscuss_ja] ダイアログ表示時のenableInputMethodsについて
>>
>>
>>
>>>  初めまして。
>>> コンパイルしてコマンドプロンプトで動作させてみました。
>>> Java1.6.0_43 => IMEが無効のまま
>>> Java1.7.0_17 => IMEが有効になる
>>> NetBeansで動作させているJavaVMが1.7でプロンプトでは1.6ということはないですか?
>>>  とするとJava本体のバグのような気がします。
>>>
>>> 以上
>>>
>>> -----Original Message-----
>>> From: トモト電子工業� 角張 [mailto:[hidden email]]
>>> Sent: Friday, December 06, 2013 11:35 AM
>>> To: netbeansメーリス
>>> Subject: [nbdiscuss_ja] ダイアログ表示時のenableInputMethodsについて
>>>
>>> 初めて投稿させていただきます。
>>> 誤りなどがありましたらご指摘いただけるとさいわいです。
>>>
>>> 掲題の件のソースと詳細を下記に記載致します。
>>>
>>> フレーム
>>> ----------test_iframe----------
>>> import javax.swing.*;
>>>
>>> public class test_frame extends JFrame {
>>>    public static void main(String args[]) {
>>>        new test_frame();
>>>    }
>>>
>>>    public test_frame() {
>>>        super("test");
>>>        setSize(400,400);
>>>        setVisible(true);
>>>        JButton btn1 = new JButton("push");
>>>        btn1.addActionListener(new java.awt.event.ActionListener() {
>>>            public void actionPerformed(java.awt.event.ActionEvent evt) {
>>>                new test_dialog();
>>>            }
>>>        });
>>>        add(btn1);
>>>        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
>>>    }
>>> }
>>> -------------------------------
>>>
>>> ダイアログ
>>> ----------test_dialog----------
>>> import javax.swing.*;
>>> import java.awt.*;
>>>
>>> public class test_dialog extends JDialog {
>>>
>>>    public test_dialog() {
>>>        super();
>>>        setSize(300, 200);
>>>        setLayout(new FlowLayout());
>>>        setVisible(true);
>>>        TextField txf = new TextField(20);
>>>        txf.enableInputMethods(false);
>>>        add(txf);
>>>    }
>>> }
>>> -------------------------------
>>>
>>> 表示されたダイアログのテキストフィールドにenableInputMethodsを設定していますが、IMEが無効となりません。
>>>
>>> テキストフィールドの前(フォーカス順)に別のコンポーネントがあり、ダイアログ表示後、フォーカスがテキストフィールドに最初に当たらない場合はIMEが正しく無効となりました。
>>> (例:ボタン→テキストフィールドの順でフォーカス遷移した場合、IMEは無効となる)
>>>
>>>
>>> また、Dosプロンプトで実行したところIMEは正しく無効となりました。
>>> そのため、netbeansのバグかと思い、問い合わせさせていただきました。
>>>
>>> 分かりづらい箇所等あるかと思いますが、ご確認宜しくお願い致します。
>>> 以上です。
>>>
>>>
>>
>>
>
>
>
> --
> Keitaro YOSHIMURA <[hidden email]>
>


Reply | Threaded
Open this post in threaded view
|

Re: ダイアログ表示時のenableInputMethodsについ

Keitaro YOSHIMURA
よしむらです。

> マイナーナンバー(?)なのでそこまで違わないと決めつけてしまっていました。
> NetBeans側のバージョンを"1.7.0_45"に合わせたところ、IMEが無効となることを確認できました。
> 今後、行き詰った場合にはしっかりとバージョンを合わせて検証したいと思います。
本来論でいえば、uXの変動で代わるのはおかしいという認識は正しいと思います。

ですが、uX で微妙に動きが変わるのが最近のjavaランタイムの実態です…

ましてや、今回のはバグっぽい挙動の話ですからまずはランタイムを正確にあわ
せてどうなるかが重要な切り分けポイントの一つかと思います。

今まで当たり前に出来たことがセキュリティホールであるという認識に代わり、
使えなくなることもままありますのでいろいろ難しいですね。

--
Keitaro YOSHIMURA <[hidden email]>
※新オフィスへの引っ越しに伴い、電話番号等変わりました
 〒420-0039
 静岡県静岡市葵区上石町2-4 河村上石町ビル1F
 tel:050-3801-5987 fax:050-5875-5011