jjzjj

java - 在 Windows 机器上使用 Java Swing SystemLookAndFeel 会导致 CachedPainter 中的 MemoryLeaks with JTextPanes

很多天以来,我一直在为一个棘手的问题而苦苦挣扎。在我的JavaSwing应用程序中,我使用两个JTextPane扩展了XML文本的语法高亮显示,如本例中所述,并做了一些小改动:XMLSyntaxHighlightinginJTextPanes这两个JTextPane分别放在一个JSplitPane中的两个JScollPane中,直接放在ContentPane中>JFrame。第一个TextPane是可编辑的(就像一个简单的XML-Request-Editor),第二个TextPane显示来self的服务器后端的XML-Responses。只要我不尝试在那些XmlTextPane中放置“

java - mac 中的 processWindowEvent

我有一个javaswing应用程序,它有一个processWindowEvent方法。下面是片段@OverrideprotectedvoidprocessWindowEvent(WindowEvente){if(e.getID()==WindowEvent.WINDOW_CLOSING){//exitapplicationwithpropererrormessage}}现在,当我的swing应用程序在Windows中启动时。在SwingUI中用十字关闭。==>显示正确的错误信息从任务栏关闭应用程序==>显示正确的错误消息但现在如果同样的步骤在mac中完成。在SwingUI中用十字关闭。

java - 如何确定从我的 Java 应用程序访问某些第三方程序和资源的方式?

我正在尝试在生成报告后打开PDF文件。我的意思是,用户登录(这是一个基于Swing的应用程序)并单击以生成报告。然后,生成一个PDF文件。我想在那一刻启动PDF阅读器。我可以做类似exec("evince"+path_to_pdf_file)的事情。它只是针对Ubuntu,Windows会更难。我在想我需要探索注册表。我怎样才能做到这一点? 最佳答案 你需要的是方法java.awt.Desktop#openLaunchestheassociatedapplicationtoopenthefile.Ifthespecifiedfile

Java TrayIcon.displayMessage() 在 Windows XP 上不起作用

我正在编写一个在系统托盘中运行的应用程序,并在发生某些事情时通知用户(即弹出其中一个气泡)。唯一的问题是通知似乎只适用于Windows7,而不适用于WindowsXP。我已经在2台Windows7计算机(它们都工作)和4台WindowsXP计算机(它们都没有工作)上测试过它。没有显示通知气泡,并且(据我所知)没有抛出异常,其他一切都正常工作。我什至在Mac上测试过它,它可以工作,但不是太漂亮。这是我的代码示例。privatestaticTrayIcontrayIcon;...trayIcon=newTrayIcon(trayImage.getImage());...if(!System

java - 如何检查您是在 Mac 还是 Windows 上使用 Java 调整 GUI 的大小?

我编写了一个需要同时在Mac和Windows上运行的程序。就GUI而言,它在Windows上看起来不错,但JFrame在Mac上太小了。我使用了GridBag布局,但没有使用绝对布局,这已在与此问题类似的答案中提出。我试过使用pack()但它不能正常用于此GUI。它甚至不会调整框架的大小以适应菜单栏。我正在使用setSize(X,Y)但有没有办法检查用户是否在Mac上,然后相应地更改大小?我也尝试过使用setMinimumSize()然后pack()但pack无论如何都不做任何事情。这是我的框架代码位;以防万一由于pack()无法正常工作而出现任何问题。try{UIManager.se

java - 如何让 JDialog 成为唯一可访问的组件?

我正在尝试在Java桌面应用程序中制作一个JDialog,我不希望用户在关闭JDialog之前能够点击任何其他框架>。它更像是一个JFileChooser。当调用JFileChooser时,用户必须先选择或取消,然后才能访问其他框架。我尝试使用alwaysOnTop但用户仍然可以移动到其他框架。我该怎么做? 最佳答案 让你的JDialog成为modal对话框。这里有更好的解释:HowtoUseModalityinDialogs? 关于java-如何让JDialog成为唯一可访问的组件?,

java - JOptionPane 显示在父 JFrame 后面

我在Windows操作系统上创建了一个swing应用程序。我的一个JDialog(其窗口是parentJFrame)显示了一个JOptionPane。JOptionPane.showMessageDialog(parentJFrame,"IamaJOption");。在运行时,parentJFramesetAlwaysOnTop(true)。即使它已设置alwaysOnTop-TRUE,JOptionPane也会出现在Windows操作系统的parentJFrame上。但是当我在Linux操作系统上运行它时,JOptionPane显示在parentJFrame后面。(可能是因为pare

java - 显示 JOptionPane 窗口时使用 Windows 声音

例如,当我显示JOptionPane.WARNING_MESSAGE或显示JOptionPane.ERROR_MESSAGE时,我将如何播放用户设置的感叹声或错误声音? 最佳答案 我的假设-没有什么特别需要做的,JOptionPane就是这样做-基于略读BasicOptionPaneUI代码并检查是否安装了optionPane的audioActionMap。播放音频的地方是在ui的propertyChangeListener上改变了它的祖先属性:if("ancestor"==e.getPropertyName()){JOptionP

java - 在 java 中添加对 windows 任务栏的贡献 - 类似于笔记本电脑电池小部件

我正在尝试对Windows任务栏做出贡献,所以当我最小化我的应用程序时,它会自动停靠到Windows任务栏中,描述这一点的最佳方式是查看我绘制的图片:如果有人知道这是否可行或如何做,请告诉我。我很清楚可以将图标添加到系统托盘-但这略有不同。提前致谢安迪 最佳答案 您可能必须使用JNI或JNA要实现这一点——包装nativeWindowsAPI似乎是最可行的想法。它将大大降低使用Java的值(value),但是-应始终将使用JNI/JNA视为最后的手段...... 关于java-在java

java - 是否可以在右键菜单顶部创建一个窗口?

我想实现的是:在Windows平台上:右键单击一个窗口(将显示一些上下文菜单)将屏幕截图捕获到位图中。创建一个包含屏幕截图的窗口位于屏幕中所有内容之上,包括上下文窗口。第3步是否可行?加1我正在通过以下2个链接浏览窗口样式:ExtendedWindowsStylesWindowsStyles不确定他们是否可以帮助我。 最佳答案 我在C#中发现了一个可能适用的解决方案。如果在创建上下文菜单后将窗口置于最前面,它将把它置于上下文菜单的前面。您可以通过在后台线程中反复将窗口置于最前面来模拟始终位于屏幕上所有内容之上的窗口。这是C#实现:H