草庐IT

java - JFrame.repaint() 和 JPanel.repaint() 的区别

谁能解释一下JPanel.repaint()方法和JFrame.repaint()方法之间的区别,我想两者都调用了paintComponent()JPanel中的方法。请说明,谢谢 最佳答案 在任何组件上调用repaint()都会向重绘管理器添加一个请求以绘制该组件。如果条件正确,管理器将安排调用组件的paint(...)方法。由于Component的paint方法随后将调用paintComponent(...)、paintBorder(...)和paintChildren(...)这将使组件绘制自身、其边框和级联绘制递归到其所有子

java - 在 NetBeans 中将 JFrame 设置为屏幕中心

我正在开发一个javaswing桌面应用程序使用NetBeans,我想将JFrame设置到屏幕中央。从网上了解到我可以使用setLocationRelativeTo(null);将框架设置到中心但是我无法将代码插入NetBeansIDE因为frame.pack()和frame.setVisible()是NetBeans7IDE生成的代码并且它不允许在两种方法之间插入任何代码。我需要获得以下内容:frame.pack()setLocationRelativeTo(null);frame.setVisible()关于如何解决问题有什么建议吗? 最佳答案

java - 在不停用窗口的情况下捕获 JFrame 中的所有事件

我正在尝试开发类似远程桌面/VNC客户端的东西。我有必要在客户端窗口中捕获所有事件。我使用的方法是覆盖JFrame的processEvent方法:@OverrideprotectedvoidprocessEvent(AWTEvente){...}但是在诸如Windows键或Alt+Tab之类的事件中,窗口将被停用:...00000191KEY_PRESSED,keyCode=524,keyText=Windows,keyChar=UndefinedkeyChar,keyLocation=KEY_LOCATION_LEFT,rawCode=91,primaryLevelUnicode=0

java - 在 jFrame 中禁用最大化并使用鼠标调整大小

JFrame隐藏或没有最大化按钮,但应该能够使用鼠标调整大小(在jFrame边框上单击并拖动)。setResizable(false)仅禁用最小化按钮,但无法使用鼠标调整大小。 最佳答案 我个人想不出允许调整大小但不允许最大化的原因,但这里有一个示例,说明如何在允许调整大小和最小化的同时防止最大化JFrame。在Windows中测试,未在所有其他平台上测试。使用setMaximizedBounds()最小化全屏闪烁。finalJFramejFrameNoMax=newJFrame(){{setMaximizedBounds(newR

java - JFrame.setExtendedState(MAXIMIZED_BOTH) 是否适用于未修饰的框架?

以下Swing代码在我的机器或我同事的机器(所有WindowsXP和Java6)上不能正常工作:publicclassTest{publicstaticvoidmain(String[]args){finalJFrameframe=newJFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(800,600);frame.setLayout(newFlowLayout());frame.add(newJButton(newAbstractAction("Maximize"){@Overrid

java - JFrame去除任务栏图标

我有一个JFrame,我使用以下方法最小化到托盘:这是为了展示:Frame.this.Minimized=false;Frame.this.setVisible(true);systemTray.remove(systemTrayIcon);Frame.this.setExtendedState(JFrame.NORMAL);这是为了隐藏:if(SystemTray.isSupported()){systemTray.add(systemTrayIcon);Frame.this.setVisible(false);Frame.this.Minimized=true;}Frame.thi

java - 如何从JFrame中添加图片,附加到边框

您好,我想在我的JFrame边框中添加一些图像。是否可以将图片附加到JFrame的边框并将其创建为1个对象?像这样: 最佳答案 我不确定是否可以将图像直接添加到JFrame的边框(欢迎提出建议)。我决定通过使用一个透明的内容面板来解决这个问题,并使用一个内部框架来像外部框架一样“出现”。代码非常简单,但是,如果您想了解代码的工作原理,请告诉我。这是启动和运行所需的最少代码。您需要在类路径的根目录中提供您自己的transparent-phone.png图像(即在根包中的PhoneWindow.java文件旁边)。importjavax

java - 在 JFrame 上画一条线

我正在尝试使用Graphics2D绘制一条线,但随后该线出现在所有JFrame中的其他组件,从而使它们不可见。我该如何解决这个问题?代码如下:importjavax.swing.*;importjava.awt.*;importjava.awt.geom.*;classSuccessextendsJFrame{publicSuccess(){JPanelpanel=newJPanel();getContentPane().add(panel);setSize(450,450);JButtonbutton=newJButton("press");panel.add(button);}pu

java - 使用未修饰的 JFrame 时如何添加对调整大小的支持?

我想自定义我的标题栏、最小化、最大化和关闭按钮。所以我在JFrame上使用了setUndecorated(true);,但我仍然希望能够调整窗口大小。实现它的最佳方法是什么?我在RootPane上有一个边框,我可以在边框或RootPane上使用MouseListeners。有什么建议吗?importjava.awt.Color;importjavax.swing.JFrame;importjavax.swing.JMenu;importjavax.swing.JMenuBar;importjavax.swing.JMenuItem;importjavax.swing.border.Li

java - 在一个 JFrame 中使用两个 JPanel

我正在尝试创建一个程序,允许用户单击一个按钮在JPanel中放置一些东西,并允许他们四处移动这个项目。我已经找到了一个很好的布局来允许移动组件(参见this链接)。但是,我只是好奇创建这样的布局的最佳方式?我希望有这样的东西:我怎样才能做到这一点?我要使用两个JPanel还是其他什么东西? 最佳答案 主面板(或窗口内容面板)必须有一个BorderLayout作为布局管理器。然后,按钮面板将添加到BorderLayout.WEST并将拖动面板添加到BorderLayout.CENTER。有一个VisualGuideSwing布局管理器