草庐IT

java - 在 Java 8 中设置装饰 JFrame 的不透明度

我想知道如何在最新Java版本中获得透明的JFrame。目前,您只能使用.setOpacity();如果框架未装饰。我不喜欢未装饰的框架,所以我想知道如何绕过这个限制并将框架的不透明度设置为0.5f同时保持标题栏,调整大小选项等我在这里阅读了文档:http://docs.oracle.com/javase/tutorial/uiswing/misc/trans_shaped_windows.html.该代码仅适用于Java6,不再运行。正如我所说,错误是:Exceptioninthread"AWT-EventQueue-0"java.awt.IllegalComponentStateE

java - JFrame 是如何工作的?在内心深处,它是如何画东西的?

通常,当我创建一个类时,例如Customer,我会给它一些数据字段,即publicintIdNumber;和一些方法,即public字符串getName(){...}。但仅此而已。我无法超越并开始玩弄图形-我只能在类(class)允许的范围内操作和组织数据。我无法理解JFrame内部发生的事情。谁编写了JFrame类,他们是如何编写一个可以使框出现在屏幕上的类的?内部发生了什么导致这种情况发生?有什么办法可以模仿吗?同样的问题适用于所有基于图形的Java类。我真的很想知道它是如何工作的,因为每次我使用其中一个时都会困扰我。 最佳答案

java - 如何使 JFrame 背景和 JPanel 透明,只显示图像

嘿,我正在尝试制作某种启动器,“窗口”必须是透明的,因为如果您理解我的意思,我希望我使用的图像是它的设计。我尝试执行setUndecorated(true);和setBackground(newColor(0,0,0,0));但它看起来很奇怪。这是它的外观图片:http://prntscr.com/2pqohq这是我的代码:importjava.awt.Color;importjava.awt.Dimension;importjava.awt.Graphics;importjava.awt.GridBagLayout;importjava.awt.image.BufferedImage

java - 是否可以在 JFrame 中包含 "movable"/"draggable"组件,如 JButtons、JTextFields?

基本上我计划在JFrame上放置一些按钮、文本字段、标签等,我希望用户可以使用鼠标在JFrame上移动不同的组件。我见过各种使用MouseListeners、子类JComponent代码、DropSource/DropTarget实现等的方式,但我不确定哪种方式是“推荐”方式(我不需要支持不同方式之间的“拖放”框架/应用程序,这似乎是大多数示例所做的)。 最佳答案 ComponentMover可以为您做这件事。 关于java-是否可以在JFrame中包含"movable"/"dragga

java - 如何在完全透明的 JFrame 上创建部分透明的 JButton?

我能够使JFrame完全透明,而JButton部分透明,直到我将鼠标移到按钮上(不要单击)并将鼠标从按钮上移开(通过MouseListener调用MouseExited)。发生的情况是再次绘制JButton的背景,因此在按钮上和按钮上移动几次鼠标后,按钮完全不透明。publicclassButtonExampleextendsJWindow{publicButtonExample(){JButtonBut=newJButton("Testing");But.setBackground(newColor(0,0,0,200));But.setForeground(newColor(70,

java swing jframe size 返回比屏幕大的尺寸

在调查我的应用程序中的一些问题时,我发现了一些奇怪的事情。基本上这个SSCCE应该演示问题:publicclassMainFrameextendsJFrame{publicMainFrame(){setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);setExtendedState(JFrame.MAXIMIZED_BOTH);pack();}}publicclassMain{publicstaticvoidmain(String[]args){MainFramemf=newMainFrame();mf.

java - 如何在 Java 中隐藏 JFrame 窗口上的默认最小化/最大化和关闭按钮?

我想知道是否可以创建一个没有默认最大化/最小化(-)和关闭(x)按钮的JFrame窗口!我在每个框架上添加了自定义按钮,这样用户就不必乱用窗口右上角的默认按钮! 最佳答案 您可以使用JWindow因为默认情况下是未装饰的,但你可以setUndecorated()对于JFrame/JDialog另一种方式是实现WindowListenersetDefaultCloseOperations 关于java-如何在Java中隐藏JFrame窗口上的默认最小化/最大化和关闭按钮?,我们在Stack

java - JFrame 仅可调整高度

JFrame.setResizable(true)允许用户调整窗口的宽度和高度。是否存在允许用户仅调整高度的方法?谢谢。编辑:下面的解决方案似乎不起作用。在360x600JFrame上,setResizable(true);pack();setMaximizedBounds(newjava.awt.Rectangle(0,0,360,1200));setMaximumSize(newjava.awt.Dimension(360,1200));setMinimumSize(newjava.awt.Dimension(360,600));setPreferredSize(newjava.a

Java - 是否可以将 JMenuBar 添加到 JFrame 的装饰窗口?

我想知道是否可以将JMenuBar添加到JFrame或JRootPane的装饰窗口,或者以其他方式添加围绕内容Pane的边框。我看到像Firefox或Photoshop这样的应用程序在装饰窗口中有它们的菜单栏。这可能吗?我环顾了谷歌,但我无法找到关于这种事情的任何结果。我希望Java有这种能力。 最佳答案 不确定您要查找什么,但您可以将JMenuBar添加到JFrame-JFrame.setJMenuBar().看HowtoUseMenus详细教程。编辑:下面是一个带有菜单的未修饰框架的过度简化示例,只是为了演示这个想法。您可能想求

java - 无论焦点是什么 JComponent,如何为 JFrame 进行键绑定(bind)?

无论框架中的焦点是什么,我们如何为JFrame进行键绑定(bind)?我已经看过这个问题:Howdoyoumakekeybindingsforajava.awt.Frame?我尝试为JFrame的根Pane设置输入映射,但是当焦点位于JTextArea上时它不起作用,即使editable为false。使键绑定(bind)在整个JFrame中工作的最简单方法是什么? 最佳答案 您可以尝试使用JComponent#getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW)来自JavaDocsConsta