2010-12-07 12 views
0

タブが縦にLEFT並んでSCROLL_TAB_LAYOUTのJTabbedPaneを作成しようとしています。このためのコードスニペットは以下の通りです:しかし、私はそれはタッチスクリーンを使用することができるようにドラッグし、マウスと同じスクロール機能を持​​って欲しいJTabbedPaneでタブをドラッグするには


private Component createTabbedPane() 
{ 
JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.LEFT, 
    JTabbedPane.SCROLL_TAB_LAYOUT); 
for (int i = 0; i < 20; i++) { 
    JPanel pane = new JPanel(); 
    pane.add(new JLabel("This is Panel " + i)); 
    tabbedPane.addTab("Tab " + i, pane); 
} 
return tabbedPane; 
} 

。タブ上でマウスリスナーを使用する方法はありますか?

+1

これはあなたに役立つでしょう。 http://stackoverflow.com/questions/60269/how-to-implement-draggable-tab-using-java-swingとhttp://java-swing-tips.blogspot.com/2008/04をご覧ください/drag-and-drop-tabs-in-jtabbedpane.html。拳のリンクは簡単です。 –

答えて

1

mouseListenerをタブ自体またはタブコンポーネントに追加できます。

+0

マウスドラッグのためにprocessMouseEventメソッドとprocessMouseMotionEventメソッドをオーバーライドしてみました。 jtabbedの場合はうまく動作しますが、jtabbedpaneの場合はうまく動作しません。このドラッグ操作を行うには、どのメソッドを変更する必要がありますか? –

+0

「作業していない」と何を試してみることができますか? – jzd

+0

こんにちは以下を試みた:
保護されたボイドは、processMouseEvent(MouseEvent e)の{ \t \t \t \tスイッチ(e.getID()){ \t \t \t \t場合はMouseEvent.MOUSE_PRESSED: \t \t \t \t \tにstartPoint = Eを。 getPoint(); \t \t \t \t \t break; \t \t \t \t} \t \t \t \t super.processMouseEvent(E); \t \t \t}

関連する問題