JDesktopPane内のすべてのJInternalFramesのzオーダー(レイヤーの深さ)を取得するにはどうすればよいですか?このための直接的な方法はないようです。何か案は?JDesktopPaneでJInternalFramesのzオーダーを取得する方法
4
A
答えて
4
私はこれを試しませんでしたが、クラスの祖先であるContainer
クラスはgetComponentZOrder
メソッドを含んでいます。 Container
にあるComponent
を渡すと、int
のzオーダーが返されます。メソッドによって返された最も小さいz桁の値を持つComponent
が最後に描画されます。言い換えれば、上に描画されます。
の配列を返すJDesktopPane.getAllFrames
メソッドとの結合で、私は内部フレームのzオーダーを得ることができると思います。
編集
私は実際にそれを試してみたのだが、動作しているようです:上記の例で
final JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JDesktopPane desktopPane = new JDesktopPane();
desktopPane.add(new JInternalFrame("1") {
{
setVisible(true);
setSize(100, 100);
}
});
desktopPane.add(new JInternalFrame("2") {
{
setVisible(true);
setSize(100, 100);
}
});
desktopPane.add(new JInternalFrame("3") {
JButton b = new JButton("Get z-order");
{
setVisible(true);
setSize(100, 100);
getContentPane().add(b);
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
JInternalFrame[] iframes = desktopPane.getAllFrames();
for (JInternalFrame iframe : iframes)
{
System.out.println(iframe + "\t" +
desktopPane.getComponentZOrder(iframe));
}
}
});
}
});
f.setContentPane(desktopPane);
f.setLocation(100, 100);
f.setSize(400, 400);
f.validate();
f.setVisible(true);
、JDesktopPane
は三つ持つ3つのJInternalFrame
Sが移入されボタンを押してJInternalFrame
とそのzオーダーのリストをSystem.out
に出力します。
JDesktopPaneTest$3[... tons of info on the frame ...] 0
JDesktopPaneTest$2[... tons of info on the frame ...] 1
JDesktopPaneTest$1[... tons of info on the frame ...] 2
例は、単にコードを短くするために匿名内部クラスの多くを使用していますが、実際のプログラムは、おそらくそれを行うべきではありません。
出力例は次のとおりです。
関連する問題
- 1. ウィンドウでzオーダーを取得するには?
- 2. MKAnnotationViewsのZオーダー
- 3. MFCダイアログでコントロールのZオーダーを保持する方法は?
- 4. ビューのzオーダーをプログラムで調整する方法
- 5. JDesktopPane - アクティブなフレームを取得する方法
- 6. Zオーダーでxml android
- 7. ドロップダウンメニュー - zオーダー
- 8. Javaでのウィンドウのzオーダー
- 9. Android relativeLaout Zオーダーのバグ
- 10. タイルベースのcocos2D-iPhoneゲームのための最高のZオーダー方法?
- 11. JDesktopPaneのサイズを設定する方法
- 12. UIImageViewのZオーダーに影響する
- 13. 注釈ビューレイヤーでzオーダーを設定する方法はありますか?
- 14. Zオーダーとイベント処理wpf
- 15. イメージとインクプレゼンターの間のZオーダー
- 16. スウィングJavaでイメージのZオーダーを設定するには
- 17. AndroidのマップV2の地図マーカーのZ-インデックス(zオーダー)を変更する
- 18. ホバー上で作業するポジショニングでZ-インデックスを取得する方法
- 19. リファラータグを取得し、各WCオーダーのカスタムフィールドに保存する方法は?
- 20. woocommceでオーダーをマージする方法
- 21. フラグメント、android:z調整(zオーダー)とアニメーション
- 22. ウィンドウのピクセルをzオーダーに関係なくキャプチャする
- 23. X、Y、Z軸値の取得方法は?
- 24. JdesktopPaneの中央にJinternalFrameを設定する方法は?
- 25. TopMostとInvokeに関するZオーダーの問題
- 26. ScrollView内の要素からzオーダーを変更します
- 27. IE7で動作するようにz-インデックスを取得する
- 28. JDesktopPaneの配置
- 29. 透明な3次元形状(クワッド)を同じzオーダーでレンダリングする
- 30. マネージDirectX:テクスチャとテキストを含むスプライトの深度(Zオーダー)を指定する