2012-03-17 20 views
2

マウスイベントを作成して、タブを右クリックして選択して削除することができます。タブ名を右クリックした後にJOptionPane()を有効にするにはどうすればよいですか?右クリックしてオブジェクトをクリックした後のJOptionPane()の方法

私はあなたがここにJTabbedPaneについて話しているとし...

+0

「自分自身を試すことができませんでした」と言えば...それはなぜですか?どのIDEを使用していますか? – Coffee

+1

よく私はmouseventsで一度も働いたことがないがどこから始めればいいのかわからないが、現在勉強中だと頼んでいて、ネットビーンズ – donthedestroyer

答えて

0

私は見当がつかないとして自分自身を試すことができていません。私はタブの右クリックを検出する方法を知らないが、少なくとも、マウスのクリックやタブの変更についての通知を受ける方法を示すことができる。使用権のどこかにあなたが使用することができますJTabbedPaneでクリックした場合に通知されるように

tabbedPane.addMouseListener(new MouseAdapter() 
{ 
    @Override 
    public void mouseClicked(MouseEvent e) 
    { 
     if (e.getButton() == MouseEvent.BUTTON3) 
      JOptionPane.showMessageDialog(
       null, "Clicked with right mouse button somewhere on the tabbed pane"); 
    } 
}); 

また、すぐにユーザーを押すか、解放マウスボタンとして通知を受けることができます。 API documentation for MouseListenerを参照してください。あなたが使用することができ、タブの変更に通知する

tabbedPane.addChangeListener(new ChangeListener() 
{ 
    @Override 
    public void stateChanged(ChangeEvent e) 
    { 
     JOptionPane.showMessageDialog(null, "Tab changed"); 
    } 
}); 

たぶん、あなたは何とかこれを組み合わせることができます。アイデアは(非常に美しいではないが)のようになります。

  1. 登録stateChangedイベントはマウスボタンが離される前に(または直後)に発生した場合に使用され、マウスの右ボタン
  2. を押したことを、あなたのメッセージダイアログを表示します。
関連する問題