我想隐藏我的JDesktopPane
在按钮的触发器中。但这不会隐藏自己。我创建了一个静态的空格方法,它隐藏了框架,并在action中调用它。我需要运行另一个EDT来隐藏我的帧吗?任何提示将不胜感激。
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.SwingUtilities;
public class JDesktoppane extends JFrame
{
JDesktopPane desktop;
JMenu menu;
public JDesktoppane()
{
super("TITLE");
int inset = 80;
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setBounds(inset, inset,
screenSize.width - inset*2,
screenSize.height - inset*2);
//Set up the GUI
desktop = new JDesktopPane();
//Setting JDesktopPane as Container
setContentPane(desktop);
setJMenuBar(createMenuBar());
//Make dragging a little faster but perhaps uglier.
desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
}
public JMenuBar createMenuBar()
{
JMenuBar bar = new JMenuBar();
menu = new JMenu("CLICK ME");
JMenuItem item = new JMenuItem("CLICK ME AGAIN");
item.addActionListener(listener);
menu.add(item);
bar.add(menu);
return bar;
}
ActionListener listener = new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
createFrame();
}
};
public void createFrame()
{
InternalFrame frame = new InternalFrame();
frame.setVisible(true);
desktop.add(frame);
}
public static void createAndShowGUI()
{
JDesktoppane p = new JDesktoppane();
p.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
p.setVisible(true);
}
public static void hideGUI()
{
JDesktoppane p = new JDesktoppane();
p.setVisible(false);
}
public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
createAndShowGUI();
}
});
}
}
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JInternalFrame;
import javax.swing.JPanel;
public class InternalFrame extends JInternalFrame
{
public InternalFrame()
{
addComponentsToPane(getContentPane());
pack();
}
ActionListener listener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e)
{
JDesktoppane.hideGUI();
}
};
private void addComponentsToPane(final Container pane)
{
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
JButton btn = new JButton("HIDE ME");
btn.addActionListener(listener);
panel.add(btn);
pane.add(panel);
}
}
在hideGUI
中,您将创建一个新窗口,然后将其隐藏:
public static void hideGUI()
{
// creating a new window
JDesktoppane p = new JDesktoppane();
p.setVisible(false);
}
我认为您的意思是,以某种方式为InternalFrame
提供对您在createAndShowGUI
中创建的原始窗口的引用。
你可以这样做:
public class InternalFrame extends JInternalFrame
{
JDesktoppane parent;
public InternalFrame(JDesktoppane parent)
{
this.parent = parent;
addComponentsToPane(getContentPane());
pack();
}
ActionListener listener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e)
{
// note
parent.setVisible(false);
}
};
...
}
和:
public void createFrame()
{
// vvvv
InternalFrame frame = new InternalFrame(this);
frame.setVisible(true);
desktop.add(frame);
}
不过,内部窗格有一个隐藏其父窗格的按钮有点奇怪。更惯用的方法是有一个JMenuBar或类似的带有选项的东西。(你有把窗户拿回来的计划吗?通常如果你想隐藏一个窗口,你只需最小化它。)
我在隐藏状态栏时遇到了一些麻烦。 如果我使用此代码进入完全沉浸式模式(隐藏状态栏和导航),它确实会隐藏导航,但状态栏仍保持在那里: 我也尝试过使用清单: 两者都不管用。还尝试了不使用setSysteMivis()函数的清单方法(只是为了测试它是否可以工作——应该是这样的,因为我以前用过这个),但没有。 在Android 4.4.2(索尼z2平板电脑)和Android L-Dev预览版(第二版,Ne
问题:如果距离为空/null,我试图隐藏一个值。 我尝试了以下操作,但该值仍在显示: 和 什么是实现我所期待的正确方法。 以下是我在coldfusion中定义距离的方式: 当我做以下建议时: ng-show="e.distance===未定义" 当我执行其他建议时,例如ng hide=“e.distance”, 以下是提供商包含的内容:
本文向大家介绍ThinkPHP框架里隐藏index.php,包括了ThinkPHP框架里隐藏index.php的使用技巧和注意事项,需要的朋友参考一下 本文所写的配置在ThinkPHP3.2.2上测试过。按理也兼容其它版本。 首先修改配置文件: 'URL_CASE_INSENSITIVE' => true, // 默认false 表示URL区分大小写 true则表示不区分大小写 'URL_MODE
问题内容: 我正在尝试使用灯箱时禁用父级的html / body滚动条。这里的主要词是 disable 。我也 没有 想隐藏它。 这样做的原因是使站点跳转并占据了滚动条所在的区域。 我想知道是否有可能在仍然显示它的同时禁用滚动条。 问题答案: 如果覆盖层下的页面可以在顶部“固定”,则在打开覆盖层时可以设置 您仍应看到右侧的滚动条,但内容不可滚动。当您关闭叠加层时,只需还原这些属性即可 我之所以这样
有没有办法在另一个程序中隐藏窗口或框架?例如,如果你打开了一个Firefox窗口,并且运行了你的程序,那么它会和firefoxFrame一样。setVisible(false),但很明显,我没有对另一个程序框架的引用。然后也许以后,firefoxFrame。setVisible(真)
问题内容: 我想使用MUI Grid,并且如果屏幕很小,我想隐藏一项Grid,所以我找到了一个名为Display的东西。我的代码看起来像这样 我不理解为什么它不起作用(文本仍然出现)。不能将显示与Grid一起使用吗?如果是,那为什么呢? 问题答案: 该风格的功能都不会自动支持组件。 利用样式功能的最简单方法是使用Box组件。该组件使所有样式功能(例如display)都可用。所述组件具有组件道具(默