我正在使用 Swing 和 AWT 编写程序,并且我有一个全屏的 JFrame。在所述框架上,我有一个按钮可以在该框架上打开一个 JDialog。当我单击按钮时,它确实创建了 jDialog,但它使我的屏幕看起来像是在休眠。请帮忙。有什么方法可以制作一个弹出菜单,它与 grab_set() 等效,不会移动,并且可以容纳对象?
全屏代码
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
//
public class test {
public static void main(String[] args)
{
GraphicsEnvironment graphics = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice device = graphics.getDefaultScreenDevice();
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setUndecorated(true);
f.setResizable(false);
JMenuBar mb = new JMenuBar();
mb.setLayout(new BorderLayout());
JButton x = new JButton("X");
Listeners close_button= new Listeners();
x.addActionListener(close_button.close());
x.setPreferredSize(new Dimension(30,30));
mb.add(x, BorderLayout.EAST);
f.setJMenuBar(mb);
device.setFullScreenWindow(f);
}
}
监听代码
public class Listeners
{
private class Listener_popup implements ActionListener
{
private Frame frame;
public Listener_popup(Frame f)
{
frame=f;
}
public void actionPerformed(ActionEvent e)
{
JDialog d= new JDialog(frame,"hello");
JLabel l=new JLabel("Hello");
d.add(l);
d.setSize(100,100);
d.setUndecorated(true);
d.setVisible(true);
}
}
}
我尝试使用带有动作侦听器的 jButton 来创建 jDialog,然后我查看了 jPopup,但这并不是我想要的。接受任何建议。