Java SwingメニューJMenuが隠されている(上書きされている、最下位に表示されている)問題
1260 ワード
ウィンドウにSwingポップアップコンポーネント(メニュー、ドロップダウンボックスなど)と重量級AWTコンポーネントが同時に存在する場合、ポップアップウィンドウは(同じコードで、異なるマシンで上書きされていない可能性があり、少し上書きされている可能性があります)重量級コンポーネントによって遮断される可能性があります.
例:
メニューまたはドロップダウンボックスであれば、JPopupMenuの静的メソッドsetDefaultLightWeightPopupEnabled(false)を呼び出して、ポップアップされたウィンドウをCanvasやWindowなどの重量級のAWTコンポーネントに強制することで、ポップアップウィンドウが他のAWTコンポーネントによって上書きされないようにすることができます.他のポップアップコンポーネントには、ヘビー級ウィンドウを強制的にポップアップする方法があります.
例:
メニューまたはドロップダウンボックスであれば、JPopupMenuの静的メソッドsetDefaultLightWeightPopupEnabled(false)を呼び出して、ポップアップされたウィンドウをCanvasやWindowなどの重量級のAWTコンポーネントに強制することで、ポップアップウィンドウが他のAWTコンポーネントによって上書きされないようにすることができます.他のポップアップコンポーネントには、ヘビー級ウィンドウを強制的にポップアップする方法があります.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Test extends JApplet {
public void init() {
JPopupMenu.setDefaultLightWeightPopupEnabled(false);// 。
Container contentPane = getContentPane();
JMenuBar menubar = new JMenuBar();
JMenu menu = new JMenu("File");
menu.add("New ...");
menu.add("Open ...");
menu.add("Save As ...");
menu.add("Save");
menu.add("Exit");
contentPane.setLayout(new FlowLayout(FlowLayout.LEFT));
contentPane.add(new Button("An AWT Button ............"));
menubar.add(menu);
setJMenuBar(menubar);
}
}
---------------------
:
:CSDN
:https://blog.csdn.net/guoquanyou/article/details/38587713
: , !