问题标签 [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.
java - 强制完整的 Java 小程序刷新 (AWT)
我有一个使用 AWT 的 Java Applet。在某些(罕见)情况下,平台无法正确刷新屏幕。我可以移动或最小化/最大化窗口并查看我的小程序是否正确刷新。我正在寻找能够给我最完整的小程序屏幕重绘的代码,模拟最小化/最大化的行为。
我尝试在父容器上调用paint()/repaint()/invalidate()/update() 的各种组合并在各种子容器上递归。但是,没有任何组合(我发现)可以清除我遇到的框架错误。我正在寻找完全刷新小程序的技术,即使它们可能会导致一些轻微的闪烁,因为我只会在有问题的平台上调用此代码。
在我的测试中,迁移到 Swing 并没有帮助解决我的问题。
顺便说一下,这是我之前(更复杂的)帖子的简化:Java Applet, AWT Refresh problem Mac OS X 10.4
编辑:线程调查并没有解决这个问题。将最佳答案标记为好答案。
java - 如何使 Java Canvas 看起来从其容器中升起
我有一个用 Java 编写的简单 GUI 组件。该类在 java.awt.canvas 中绘制一个模拟时钟。
然后这个画布被包含在一个 JFrame 中——我想做的是给画布一个 3D“凸起”效果——就像给照片添加阴影一样。有没有一种简单的方法可以做到这一点?
java - java.awt.Component.getName() 和 setName() 是做什么用的?
是java.awt.Component.getName()
用来做什么的?它似乎总是出现null
在我使用 NetBeans 构建的应用程序中。我正在考虑在其中为每个组件存储一些帮助文本——我不想使用工具提示,我有另一个面板,我将在其中显示帮助文本。
java - Java:有什么方法可以在组件中的某处将对象与组件相关联?
作为我关于 java.awt.Component.getName() 属性的问题的后续,我想知道是否有一种方法可以在 Component 的某处放置任意对象,类似于.NET 中的 tag 属性?对于对组件有效但不一定知道该组件是什么的任何代码,这将非常方便。
例如,假设我正在尝试实现一个应用程序范围的帮助系统,该系统知道查看鼠标当前指向的任何组件,进入该组件并拉出它的帮助文本并将其显示在屏幕上它自己的窗格中(不,我不想使用工具提示)。我目前的回答是使用名称 (getName()/setName()) 来存储帮助文本,这将起作用,但名称必须是一个字符串。如果我想变得更漂亮并存储除字符串以外的任何东西,我想我会被卡住。
java - AWT TextArea 似乎将 cr-lf 序列计为一个字符
我有这个问题:
从文件加载的文本“ABCD\r\nEFGHJ”与 java 正则表达式“EFGH”匹配。Matcher 对象当然表示匹配字符串的开头位于位置 6。匹配器将 \r \n 计为两个位置。
我将原始文本放在 AWT TextArea 组件中,然后调用 select(6,10) 以突出显示匹配的区域。你猜怎么着......它从“F”字母开始突出显示。一个位置比它应该的...
如果超过 1 对 crlf 在匹配区域之前,则突出显示会比应有的更向前移动。
任何人有任何简单的解决方案?
java - 无法更改 java.awt.MenuBar 中的字体
我正在尝试使用更改 AWT 菜单栏中的字体MenuBar.setFont()
。该调用适用于菜单栏的子菜单,但菜单栏本身不会更改字体(我正在尝试使字体变大)。
有谁知道这是否可行?
我在 Windows XP 上使用 JRE 1.6。
更新:只要文本适合菜单栏高度,更改字体似乎确实有效,否则字体大小会减小。
java - 在 java 中,如何将 java.awt.image.BufferedImage 写入 8 位 png 文件?
我正在尝试从 java.awt.image.BufferedImage 中写出一个 png 文件。一切正常,但生成的 png 是 32 位文件。
有没有办法让 png 文件变成 8 位?图像是灰度的,但我确实需要透明度,因为这是叠加图像。我正在使用 java 6,并且我希望返回一个 OutputStream,以便我可以让调用类处理将文件写入磁盘/db。
这是代码的相关部分:
java - 对于屏幕外渲染,最有用的 java.awt.image.BufferedImage 类型是什么?
我正在创建一个缓冲图像,它将成为 JComponent 的快照(通过 paint())并在ImageIcon中呈现。构造函数中有大量的类型BufferedImage(int width, int height, int imageType)
,但我应该使用哪一种呢?
我相信它们中的任何一个都会起作用,但哪些比其他更好?我该如何选择?为什么?
java - 我应该使用什么组件在 Java 中绘制树状图?
树状图不是常规图。我应该使用 javax.swing.* 库中的任何组件,还是只使用 java.awt.Graphics 绘制它?
java - 使用 Java 的“始终在顶部”Windows
在 Java 中,有没有办法让一个窗口“始终在顶部”,无论用户是否将焦点切换到另一个应用程序?我在网上搜索过,所有解决方案都倾向于某种带有本机绑定的 JNI 接口。真的这不能是唯一的方法吗?......或者是吗?