问题标签 [awt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
6655 浏览

java - 如何在 Java 中捕获 AWT 线程异常?

我们希望在我们的应用程序日志中跟踪这些异常——默认情况下,Java 只是将它们输出到控制台。

0 投票
3 回答
6992 浏览

java - 当 Toolkit.getDefaultToolkit() 抛出 AWTError 时,如何在 Java 中读取图像?

我正在使用 Java 读取图像文件

在某些系统上这不起作用,它会引发 AWTError 抱怨 sun/awt/motif/MToolkit。

您还能如何从图像文件创建 java.awt.Image 对象?

0 投票
6 回答
60174 浏览

java - 使用 Java 的 ImageIO 将像素数组转换为 Image 对象?

我目前正在使用以下代码将像素值数组(最初使用 java.awt.image.PixelGrabber 对象创建)转换为 Image 对象:

是否可以使用 ImageIO 包中的类来实现相同的结果,这样我就不必使用 AWT 工具包了?

Toolkit.getDefaultToolkit() 似乎不是 100% 可靠,有时会抛出 AWTError,而 ImageIO 类应该始终可用,这就是我对更改方法感兴趣的原因。

0 投票
2 回答
2852 浏览

java - 如何将 JTS-Geometry 转换为 AWT-Shape?

是否可以将a com.vividsolutions.jts.geom.Geometry(或其子类)转换为实现的类java.awt.Shape?我可以使用哪个库或方法来实现该目标?

0 投票
17 回答
216051 浏览

java - 如何在Java中居中一个窗口?

使 a 居中的最简单方法是什么java.awt.Window,例如 aJFrame或 a JDialog

0 投票
6 回答
6857 浏览

java - 如何检查在Java中启动时按住的键

我正在尝试编写一个在程序首次启动时弹出的分辨率选择对话框。为了防止用户感到无聊,我想实现一个相当标准的功能,您可以使用复选框关闭该对话框,但通过在启动时按住 alt 键将其恢复。

不幸的是,没有明显的方法可以询问 java 当前是否正在按下给定的键。您只能通过 KeyListener 注册以获悉新的按键,但如果按键在应用程序启动之前启动,这将无济于事。

0 投票
5 回答
749 浏览

java - 打开字符串/实现按钮操作

完全免责声明:我是一名 CS 学生,这个问题与最近分配的面向对象编程的 Java 程序有关。尽管我们已经完成了一些控制台的工作,但这是我们第一次使用 GUI 和 Swing 或 Awt。我们得到了一些代码,该代码创建了一个带有一些文本的窗口和一个旋转不同颜色的文本按钮。然后我们被要求修改程序以创建颜色的单选按钮——这也是为了让我们练习研究 API。我已经提交了作业,并获得了导师的许可,可以在此处发布我的代码。

在 Java 中实现按钮操作的最佳方式是什么?经过一番摆弄,我创建了这样的按钮:

并添加了动作监听器......

已经为 actionPerformed 方法创建了一个存根,让我们了解如何使用它,但是由于模板中只有一个按钮,因此不清楚如何实现多个按钮。我尝试打开一个字符串,但很快意识到,由于字符串不是原始类型,我不能将它用于 switch 语句。我本可以即兴使用 if-else 链,但这是我想出的。这似乎远非优雅,必须有更好的方法。如果有,它是什么?有没有办法打开字符串?或者以更可扩展的方式选择一个动作?

0 投票
2 回答
3631 浏览

java - Java Applet、AWT Refresh、Mac OS X 10.4 上的问题

我们有一个使用 AWT 构建的 Java Applet。此小程序可让您从硬盘驱动器中选择图片并将它们上传到服务器。该小程序包含一个可滚动的图片列表,可在 Windows、Linux 和 Mac OS X 10.5 中正常运行。我们通过 Java Web Start 或在网页中启动这个小程序。

无论 Java 版本如何(1.4 或 1.5),我们的小程序在 Mac OS X 10.4 中都无法正常运行。您可以在此处找到滚动时错误行为的屏幕截图:

http://www.lavablast.com/tmp/ui_error.png

简而言之,有时当滚动图片时,最终会与应用程序的页眉或页脚重叠。此行为在其他平台上不会发生。在 Mac OS X 10.4 上,它在滚动时会在错误的位置显示图片,如果在该位置绘制图像后刷新屏幕,这不会那么糟糕。但是,应用程序似乎并不知道它绘制不正确,因此不会刷新。

如果窗口被最小化、调整大小甚至移动,应用程序会被刷新,错误定位的元素会消失,应用程序会正常恢复。我花了很长时间试图强制刷新背景图像,但没有成功。(直接重新绘制图像,重新绘制几个面板的所有子项等。)因此,我正在寻找任何可以帮助我在 Mac OS X 10.4 下解决此问题的提示,或者在最坏的情况下,只是模拟一个完整的小程序刷新。

直到最近,一切都与 Java 1.1 兼容,但这在一些地方发生了变化,现在需要 1.4。我不认为这些更改造成了问题,我只是将其作为额外信息提供。如果您对滚动面板的实现细节感兴趣,我会进行调查,但我假设这是一个常见的平台错误,必须知道解决方法。

要重现该问题,请打开以下 Java Web Start 应用程序: http ://www.lavablast.com/tmp/opal-webstart.php.jnlp

选择一个包含大量图像的文件夹并使用滚动条进行播放。在某个时候(相当快),您应该会遇到刷新问题。

编辑:我在这里遵循了第一个建议,并将所有具有背景图像的控件替换为 Swing 等效项,但问题仍然存在。(另外,我还需要做许多其他的修复来进行彻底的改变)。还有其他想法吗?强制完全刷新的简单的一行代码会很棒:)

Edit2:主线程创建面板并启动 X 线程。使用观察者/通知者模式,线程完成并通知主控件,主控件将面板添加到页面。这是通过 EventQueue.invokeLater 完成的,除非我弄错了,否则它应该在正确的线程上运行。即使没有额外的线程正在运行(如在加载期间),滚动时问题也最为严重。

0 投票
1 回答
239 浏览

java - Java:Solaris 上的 AWT

AWT 是如何为Solaris实现的?

即:它依赖于哪些本机库(如果有)?

0 投票
2 回答
5641 浏览

java - 在 Mac OS X 中获取 AWT 框架的可绘制区域?

我已经继承java.awt.Frame并覆盖了该paint()方法,因为我希望手动绘制窗口的全部内容。

但是,在图形对象上,(0,0) 对应于标题栏装饰内窗口的左上角,而不是第一个可绘制像素。

我能否以跨平台的方式确定第一个可绘制像素的坐标(即装饰的高度),避免使用 Mac OS X 特定的软糖因子?为了找到窗口的实际可绘制区域,我是否会被迫嵌套Panel组件?

在这里,我的代码无法将蓝色方块居中在窗口的可绘制区域内: