查看JInternalFrames没有JDesktopPanes

问题描述 投票:0回答:1

我们知道JInternalFrame无法运行..我们必须将它设置为JDesktopPane但是我从我的一个朋友那里听说JInternalFrame可以运行。那可能吗..?主方法有没有代码......?

java swing jinternalframe
1个回答
1
投票

当然,“JInternalFrame无法运行”;他们没有腿。但如果你声称他们不能在没有JDesktopPane的情况下使用,那么你从哪里获得“知识”?你为什么不亲自尝试?它只需不到五分钟:

import javax.swing.*;

public class IFrames
{
  public static void main(String[] args)
  {
    try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); }
    catch(Exception ex){}
    JFrame f=new JFrame();
    f.setContentPane(new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,
      createFrame("Left"), createFrame("right") ));
    f.setSize(300, 300);
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.setVisible(true);
  }

  private static JInternalFrame createFrame(String title)
  {
    final JInternalFrame f1 = new JInternalFrame(title, true, true);
    f1.setVisible(true);
    f1.getContentPane().add(new JLabel(title));
    return f1;
  }
}

简单的回答:没有人阻止你使用它们没有JDesktopPane虽然使用它们更自然。 documentation说:“通常,你将JInternalFrame添加到JDesktopPane。”

嗯,“一般”并不排除豁免。

顺便说一句JOptionPane.showInternal…Dialog是使用没有JInternalFrameJDesktopPane的应用的典型例子。

© www.soinside.com 2019 - 2024. All rights reserved.