gpt4 book ai didi

java - 全屏模式下的 JInternalFrame

转载 作者:行者123 更新时间:2023-12-04 06:25:11 26 4
gpt4 key购买 nike

我打算在全屏模式下使用 JInternalFrame 作为模态 JDialog,但是,当它被调用时当前没有显示。我需要将它添加到某个容器中吗?我尝试将它添加到 JOptionPane.showInternalMessage(...),但由于我想让对话框在 3 秒后自动消失,这不起作用,因为 JOptionPane 对话框会一直停留在那里,直到有人单击“确定”。

任何的想法?非常感谢。

最佳答案

是的,您必须将它添加到您希望它是“内部”的容器中。

下面是一个示例,向您展示了这种行为。您可以在此处注意到内部框架(将在框架内的鼠标按下时显示/隐藏)未绘制在 EAST 面板上,因为它在超出其父项的边界时会被剪裁。

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

public class InternalFrameTest extends JPanel
{
private static final long serialVersionUID = 1L;
private JInternalFrame internalFrame;
public InternalFrameTest()
{
this.internalFrame = new JInternalFrame("Internal frame");
internalFrame.setLayout(new FlowLayout());
internalFrame.add(new JLabel("I am label"));
internalFrame.add(new JButton("Oi button"));
internalFrame.pack();
add(internalFrame);
}

public void showHideInternalFrame()
{
internalFrame.setVisible(!internalFrame.isVisible());
}
public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable()
{
@Override
public void run()
{
final InternalFrameTest ift = new InternalFrameTest();
ift.setBackground(Color.GREEN);
JFrame f = new JFrame();
f.addMouseListener(new MouseAdapter()
{
@Override
public void mousePressed(MouseEvent e)
{
super.mousePressed(e);
ift.showHideInternalFrame();
}
});
JPanel cp = new JPanel(new BorderLayout());
cp.add(ift);
JPanel eastP = new JPanel();
eastP.add(new JLabel("EAST"));
eastP.setBackground(Color.YELLOW);
cp.add(eastP, BorderLayout.EAST);
f.setContentPane(cp);
f.setSize(400, 300);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
});
}
}

关于java - 全屏模式下的 JInternalFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6119874/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com