- PR -

FrameでToolTip表示

1
投稿者投稿内容
ラッキーボーイ
会議室デビュー日: 2004/07/23
投稿数: 7
お住まい・勤務地: 水辺
投稿日時: 2004-07-23 15:08
はじめまして。

Frame画面でToolTipを表示させたいのですが、エラーがでて困っています。
表示方法はあるのでしょうか?(たまに表示されます)
わかる方、アドバイスお願いします。

----------------プログラム例------------------------
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class test2 extends Frame
{
 JButton button;

 public static void main(String args [ ])
 {
  test2 window = new test2();
  window.setSize(300,300);
  window.setVisible(true);
 }
 test2()
 {
  super("test");
  button = new JButton("button");
  button.setToolTipText("button");
  add(button,BorderLayout.NORTH);
 }
}
----------------------------------------
--------------エラー内容-----------------
Exception occurred during event dispatching:
java.lang.Error: Destination component not connected to component tree hierarch
at javax.swing.SwingUtilities.convertPoint(SwingUtilities.java:98)
at javax.swing.DefaultPopupFactory$JPanelPopup.convertParentLocationToSreen(DefaultPopupFactory.java:1012)
 at javax.swing.DefaultPopupFactory$JPanelPopup.getBoundsOnScreen(DefaulPopupFactory.java:990)
at javax.swing.ToolTipManager.mouseExited(ToolTipManager.java:487)
at java.awt.AWTEventMulticaster.mouseExited(AWTEventMulticaster.java:25)
at java.awt.Component.processMouseEvent(Component.java:3721)
at java.awt.Component.processEvent(Component.java:3544)
at java.awt.Container.processEvent(Container.java:1164)
at java.awt.Component.dispatchEventImpl(Component.java:2593)
at java.awt.Container.dispatchEventImpl(Container.java:1213)
at java.awt.Component.dispatchEvent(Component.java:2497)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:245)
at java.awt.LightweightDispatcher.trackMouseEnterExit(Container.java:229)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2189

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2125)
at java.awt.Container.dispatchEventImpl(Container.java:1200)
at java.awt.Window.dispatchEventImpl(Window.java:926)
at java.awt.Component.dispatchEvent(Component.java:2497)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:339)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTread.java:131)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThrad.java:98)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:85)
Wata
ぬし
会議室デビュー日: 2003/05/17
投稿数: 279
投稿日時: 2004-07-23 15:55
こんにちは、Wataです。
引用:
ラッキーボーイさんの書き込み (2004-07-23 15:08) より:
Frame画面でToolTipを表示させたいのですが、エラーがでて困っています。
表示方法はあるのでしょうか?(たまに表示されます)
わかる方、アドバイスお願いします。

提示されたプログラムを試してみましたが、
エラーを発生させることはできませんでした。
「たまに」と言う事ですが、条件など思い当たるものはないですか?
また、JREのバージョンも関連するかもしれませんので注意してください。
(私はJRE1.3.1_09と1.4.2_04で試しました。)

あと、javax.swing.JButtonをjava.awt.Frameに貼り付けていますが、
JButtonを使うなら、javax.swing.JFrameにしたほうがいいと思いますよ。
ラッキーボーイ
会議室デビュー日: 2004/07/23
投稿数: 7
お住まい・勤務地: 水辺
投稿日時: 2004-07-23 17:01
返信ありがとうございます。

WataさんはToolTipは表示されたってことですよね?
「たまに」とは画面を表示させ、そっとマウスをボタンの右にもっていくと表示されます。
後、私の実行環境はJRE1.3.1_01です。
バージョンの違いが関連しているのでしょうか?
JFrameを使用すれば解決するのは承知していますが、
どうしてもFrameで表示させたいのです・・・。
いっきゅう
大ベテラン
会議室デビュー日: 2004/04/04
投稿数: 153
お住まい・勤務地: 兵庫
投稿日時: 2004-07-23 19:03
引用:

後、私の実行環境はJRE1.3.1_01です。
バージョンの違いが関連しているのでしょうか?



JFrameの問題ではなくバージョンの違いかもしれません
リリースノートの下記参照にて
http://java.sun.com/j2se/1.3/ja/ReleaseNotes.html
1.3.1_03 の変更点でToolTipに関するバグが修正されています。

バージョンを上げてみてはどうですか?

[ メッセージ編集済み 編集者: いっきゅう 編集日時 2004-07-23 19:04 ]
ラッキーボーイ
会議室デビュー日: 2004/07/23
投稿数: 7
お住まい・勤務地: 水辺
投稿日時: 2004-07-23 19:56
どうもありがとうございました。

JRE1.3.1_12で確認しました
まさにバージョンの違いでした。

バグだったとは・・・。
いっきゅうさん、Wataさんアドバイスありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)