草庐IT

java - 禁用 JFrame 中的背景绘图以正确显示 Aero (DWM) 效果

我在Java窗口上使用WindowsVista/7的DWM功能时遇到问题。我想让我的框架背景使用Aero风格。执行此操作的WindowsAPI由dwmapi库中的函数DwmExtendFrameIntoClientArea提供。我已经设法通过JNA正确地调用了该过程,并且它做了它应该做的事情(例如,您可以看到,在调整框架大小时,在下一次重绘之前,您会在尚未绘制的区域看到适当的航空效果,见附图)。但是在某个地方(我无法弄清楚在哪里)在Aero效果上绘制了背景并且效果丢失了。我已经尝试过的:使用不透明度设置为false的自定义ContentPane将LayeredPane和RootPane

java - Eclipse有没有可能只打开一个JFrame?

第二次运行项目时,是否可以先关闭之前的JFrame再打开新的?所以我第二次尝试运行项目时不需要关闭JFrame。是否可以只打开一个JFrame? 最佳答案 Eclipse可以在启动新程序之前终止已启动的程序:它称为终止并重新启动(请参阅Documentation)。您可以将它绑定(bind)到您喜欢的任何快捷方式(窗口->首选项->常规->键)。 关于java-Eclipse有没有可能只打开一个JFrame?,我们在StackOverflow上找到一个类似的问题:

java - 如何在 Jframe Swing 中将 JLabel 居中?

我有这个Swing秒表的工作代码。我想让标签TimeRemaining300seconds居中在第二行`。这是我的代码。importjava.awt.BorderLayout;importjava.awt.GridLayout;importjava.awt.Toolkit;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.sw

java - JFrame 背景图片

我正在创建一个GUI,虽然它很简单,但我希望背景图像(2048X2048)填满整个窗口,并在左上角放置一个正方形,偶尔可以加载64X64图像.提前感谢任何帮助的人:)编辑:我已经知道如何将JFrame设置为固定大小,它是我需要帮助的图像加载。 最佳答案 这是在JFrame中添加背景图像的简单示例:importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;classBackgroundImageJFrameextendsJFrame{JButtonb1;JLabell1;p

java - 在 JFrame 关闭上运行函数

voidterminate(){}protectedJFrameframe=newJFrame();当我按下关闭按钮时,如何让frame运行终止函数?编辑:我试图运行它,但出于某种原因它没有打印测试(但是,程序关闭)。有谁知道可能是什么问题?frame.addWindowListener(newWindowAdapter(){publicvoidWindowClosing(WindowEvente){System.out.println("test");frame.dispose();}}); 最佳答案 您可以使用addWindow

java - 如何自定义 JFrame 的标题栏?

我想在我的JavaSwing桌面应用程序中有一个自定义的标题栏。最好的方法是什么?我可以通过在JFrame的构造函数中使用以下代码来使用“Swing标题栏”:this.setUndecorated(true);this.getRootPane().setWindowDecorationStyle(JRootPane.FRAME);但是我该如何自定义它呢?是否有任何我可以覆盖的UI委托(delegate),或者我是否必须从头开始实现我自己的标题栏?我想要劳森智能办公室之类的东西: 最佳答案 您可以在Substancelook-and-

java - 由于所需库的限制,JFrame 受限

这个问题在这里已经有了答案:Accessrestrictiononclassduetorestrictiononrequiredlibraryrt.jar?(15个答案)关闭8年前。我正在eclipse中创建一个新的Java项目。唯一的问题是,我什至没有输入五行就收到错误消息:AccessRestriction:ThetypeJFrameisnotaccessibleduetorestrictiononrequiredlibraryC:\ProgramFiles\Java\jre8\lib\rt.jar我该如何解决这个问题?如果有人已经问过类似的问题,请原谅我。我还是个初学者。

java - JAVA中如何最大化运行JFrame?

这个问题在这里已经有了答案:HowtomaximizeaJFramethroughcode?(5个答案)IsthereawaytotellifaJFrameis"Maximised"(MSWindows)[duplicate](1个回答)关闭9年前。我是JAVA新手。我需要在最大化模式下运行名为MainFrame的JFrame。我该怎么做?publicclassMainFrameextendsjavax.swing.JFrame{/***CreatesnewformMainFrame*/publicMainFrame(){initComponents();}

java - JFrame.setBackground() 不工作——为什么?

这个问题在这里已经有了答案:SettingbackgroundcolorforaJFrame(14个答案)关闭8年前。JFramemainFrame=newJFrame();mainFrame.setSize(100,100);mainFrame.setBackground(Color.CYAN);mainFrame.setVisible(true);我的意图是创建一个带有青色背景的窗口。这有什么问题?我的窗口没有像我预期的那样变成青色!另外,谁能指出为什么我似乎所有的颜色都是重复的(有一个Color.CYAN和一个Color.cyan)。两者之间有什么区别吗?也许旧的是在Java中有

java - 是否可以将 JFrame 放在前面而不是焦点?

我正在编写一个定期弹出JFrame的Java应用程序(SwingGUI)。是否有可能以某种方式将窗口置于最前面(foo.setAlwaysOnTop(true)会更好)但没有使其成为焦点?有些人在打字时不时将眼睛从屏幕上移开看键盘,我敢肯定,如果这个窗口始终捕获键盘焦点,人们会非常恼火,因为这会导致他们迷失方向每次它弹出时都被忽视了很多次击键。在其他情况下,即使用户实际上能够在不一直看键盘的情况下打字,弹出窗口并获得焦点可能会导致弹出窗口本身执行不需要的操作(某些Tab+Enter组合,例如,用户不小心选择了一个她本来不会选择的选项)。提前致谢!更新正如Jonas所建议的,foo.se