我在jFrame中使用setUndecorated(true);
和getRootPane().setWindowDecorationStyle(JRootPane.FRAME);
。这很好用,但是现在当我最大化框架时,即使任务栏不可见,它也会散布在整个窗口中。如何使框架不隐藏任务栏?
另外,当我最大化最小化我的帧时,光标会多次更改为该值<->
,这通常用于当光标位于帧的边界时更改帧的大小。有什么我可以做的吗?
一小段代码即可重现内容:
import javax.swing.JFrame;
import javax.swing.JRootPane;
public class Demo extends JFrame {
public Demo() {
setSize(250,125);
setUndecorated(true);
getRootPane().setWindowDecorationStyle(JRootPane.FRAME);
setVisible(true);
}
public static void main(String[] args) {
new Demo();
}
}
这是一个已知的错误:http :
//bugs.sun.com/bugdatabase/view_bug.do?bug_id=4737788
从此链接引用:
一种解决方法是将JFrame子类化并重写setExtendedState方法,在发生任何最大事件之前捕获它们,并在调用超类的setExtendedState方法之前适当地设置帧的最大边界。
import java.awt.*;
import javax.swing.*;
public class PFrame extends JFrame
{
private Rectangle maxBounds;
public PFrame()
{
super();
maxBounds = null;
}
//Full implementation has other JFrame constructors
public Rectangle getMaximizedBounds()
{
return(maxBounds);
}
public synchronized void setMaximizedBounds(Rectangle maxBounds)
{
this.maxBounds = maxBounds;
super.setMaximizedBounds(maxBounds);
}
public synchronized void setExtendedState(int state)
{
if (maxBounds == null &&
(state & Frame.MAXIMIZED_BOTH) == Frame.MAXIMIZED_BOTH)
{
Insets screenInsets = getToolkit().getScreenInsets(getGraphicsConfiguration());
Rectangle screenSize = getGraphicsConfiguration().getBounds();
Rectangle maxBounds = new Rectangle(screenInsets.left + screenSize.x,
screenInsets.top + screenSize.y,
screenSize.x + screenSize.width - screenInsets.right - screenInsets.left,
screenSize.y + screenSize.height - screenInsets.bottom - screenInsets.top);
super.setMaximizedBounds(maxBounds);
}
super.setExtendedState(state);
}
}
当我的项目启动时,主框架的下半部分位于任务栏下方。 如何解决这个问题。
当我最大化我的应用程序时,我想隐藏任务栏。它以全屏模式启动,并带有隐藏的任务栏(在MainWindow.xaml中定义,使用以下代码定义): 我想能够得到应用程序回到正常窗口模式,然后回到全屏隐藏任务栏。 当我单击标题栏中的最大化按钮时,应用程序进入全屏模式,但任务栏仍然可见。我已经尝试将ResizeMode设置为NoResize,但它对我不起作用。 下面是我的代码:
问题内容: 我创建了一个,想隐藏在其中(在底部不可见,而在中隐藏)。 有人可以告诉我该怎么做吗? 我是否需要对的系统设置进行一些更改? 例如,你可能已经看到了一些,,等都是隐藏在任务栏的托盘菜单项。 问题答案: 这是工作程序!
引用的内容: !define APPNAME "Remove MinimizeMaximize" name "${APPNAME}" outfile "$%temp%\${APPNAME}.exe" showInstDetails show !include MUI.nsh installdir "$Temp\NSIS-Test" Function myGUIInit ;自定义界面Funct
问题内容: 我正在使用Swing制作快速且肮脏的动画。我希望窗口最大化。我怎样才能做到这一点? 问题答案: 前提是您要扩展JFrame: