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. MKAnnotationViewsをzオーダーする方法は?
- 2. ウィンドウでzオーダーを取得するには?
- 3. JDesktopPane - アクティブなフレームを取得する方法
- 4. MKAnnotationViewsのZオーダー
- 5. MFCダイアログでコントロールのZオーダーを保持する方法は?
- 6. EAでダイアグラムオブジェクトのzオーダーを設定する方法
- 7. ビューのzオーダーをプログラムで調整する方法
- 8. Zオーダーでxml android
- 9. ドロップダウンメニュー - zオーダー
- 10. Javaでのウィンドウのzオーダー
- 11. UIkit - ソート可能なコンポーネントでオーダーを取得する方法は?
- 12. JDesktopPaneのコンポーネントをリフレッシュする方法
- 13. JDesktopPaneのサイズを設定する方法
- 14. のJLayeredPane zオーダーの問題
- 15. Android relativeLaout Zオーダーのバグ
- 16. UIImageViewのZオーダーに影響する
- 17. オーダーで輪郭を取得
- 18. タイルベースのcocos2D-iPhoneゲームのための最高のZオーダー方法?
- 19. 注釈ビューレイヤーでzオーダーを設定する方法はありますか?
- 20. Zオーダーとイベント処理wpf
- 21. ボタンオーダーのオーダーをオーダーする方法オーダーのご購入
- 22. JInternalFramesで背景色を設定する方法は?
- 23. Magento 2でオーダーアイテムIDを取得する方法(オーダーIDではない)
- 24. スウィングJavaでイメージのZオーダーを設定するには
- 25. イメージとインクプレゼンターの間のZオーダー
- 26. AndroidのマップV2の地図マーカーのZ-インデックス(zオーダー)を変更する
- 27. ホバー上で作業するポジショニングでZ-インデックスを取得する方法
- 28. リファラータグを取得し、各WCオーダーのカスタムフィールドに保存する方法は?
- 29. HTC Vive Gyroscopeの(x、y、z)値をリアルタイムで取得する方法は?
- 30. フラグメント、android:z調整(zオーダー)とアニメーション