2

私は 5 JInternalFramesin 1を持っていJDesktopPaneます。4 つをJInternalFramesアイコン化して、1 つだけをアクティブにしておく必要があります。しかし、 1 を最大化するJinternalFrameと、他のアイコン化されJInternalFramesたものがその背後にあるため、アクティブなものをアイコン化してからJInternalFrame、必要なものを復元する必要があります。

JInternalFramesすべてのアイコン化されたものを常に一番上に保つ方法はありますか?

4

2 に答える 2

4

JDesktopPane.setComponentZOrder(java.awt.Component, int)を使用して、アイコン化されたフレームがアイコン化されていないフレームの上にあるレイヤーにあることを確認します。

于 2012-07-24T12:40:10.410 に答える
0

これがあなたのケースで役立つかどうかはわかりませんが、特定の順序付けが必要な場合 (たとえば、1 つの JInternalFrame を常に他のフレームの前に配置する必要がある場合) は、単に JDesktopPane を使用しないでください。DefaultPane を使用するだけです。

デフォルト:

setContentPane(new JDesktopPane());  // Will bring the currently activated JInternalFrame to top
add(frame_A);
add(frame_B);
add(frame_C);

常にトップに:

// setContentPane(new JDesktopPane()); // Dont use the DesktopPane
add(frame_A); // Will always be on top
add(frame_B); // Will always be in front of frame c but behind frame a
add(frame_C);
于 2013-02-12T13:23:41.360 に答える