问题标签 [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 自定义 Web 控件?
这个问题最初在我的脑海中是“我可以在 Servlet 中使用 AWT 控件吗?” ,这将显示我对这个主题的所有无知。
我是 JAVA 技术的新手,但经过一番阅读,我似乎了解 AWT 控件直接连接 OS GUI 元素,因此无法在要注入 JSP 的 Servlet 中使用或扩展 JPanel、JButton 等并让浏览器呈现这些控件(另一种方法可能是在 JSP 中嵌入一个小程序,但我不想这样做)。
我正在寻找一种使用 JSP 和 Servlet 构建自定义可重用 Web 控件的方法。
这通常是如何完成的,您能否提供一些示例/链接?
编辑:这是我对 Google 应用程序引擎进行的测试运行的一部分 - 所以探索 Google Web Toolkit 对我来说可能是有意义的 - 任何指向该方向的指针也将不胜感激。
任何帮助表示赞赏!
java - 将 JPanel 导出为矢量图形
我想将我的 JPanel 中的图像导出为矢量图形文件,以便可以以高于屏幕的分辨率对其进行编辑和打印。本质上,我希望paint()
使用将绘图命令保存到矢量图形文件中的目标 Graphics 来调用它的函数。
有什么好的,简单的方法可以做到这一点?推荐什么库?哪种矢量格式最好,为什么?
java - 用 Java 读/写 Tiff
任何关于使用 Apache 或类似许可的开源库的想法,用于在 Java 5 中读取和写入 TIFF 文件(最好使用 AWT 图像处理库,包括 ImageIO。)
我知道 Java 6 应该支持 TIFF。我知道 Sun 的 JAI 实施,但该 许可证不适用于我工作的公司;和 Asprise,但那是一种商业产品。Sanselan 看起来不错,但那还不是发布的产品。
对另一个 TIFF 阅读器实施有什么建议吗?
java - 访问 sun.awt 包中的非公共类 [特别是:FetcherInfo]
问题:
我的应用程序存在一些性能问题 - 瓶颈是sun.awt.image.ImageFetcher.run
,我无法从探查器获得任何(更多)有意义的信息。所以我认为看看 ImageFetcher 正在做的工作会很好。
我无法进入FetcherInfo
拥有所有ImageFetcher
工作的班级。要获得FetcherInfo
实例,我必须调用FetcherInfo.getFetcherInfo()
.
我在包中创建了类sun.awt.image
(只是在我的项目中,我没有修改 rt.jar)。
为了让FetcherInfo
我使用:
我得到了例外:Exception in thread "IMAGE-FETCHER-WATCHER" java.lang.IllegalAccessError: tried to access class sun.awt.image.FetcherInfo from class sun.awt.image.FetcherDebug
堆栈跟踪指向:
由以下人员引发了相同的异常:
所以任何人都有任何想法如何:
- 获取 ImageFetcher 实例
- 找出正在加载的图像
解决方案
问题是我已经将我的类放入sun.java.awt
包中以访问包受保护的成员,而没有将其放入rt.jar
,并且在调用时抛出异常ImageFetcher.class
。
java - 需要一种方法来缩放字体以适应矩形
我刚刚编写了一些代码来缩放字体以适应矩形(的长度)。它从 18 宽度开始并向下迭代直到适合。
这似乎非常低效,但我找不到非循环的方式来做到这一点。这条线用于可缩放的游戏网格中的标签,因此我看不到解决方案(包装、切断和延伸超出矩形都是不可接受的)。
它实际上非常快,我正在为数百个矩形执行此操作,它的速度足以让它减慢一点。
如果没有人想出更好的方法,我会从表中加载起始猜测(这样它就比 18 更接近)并使用它——除了滞后它工作得很好。
java - Java:获取一个/所有可用显示器的分辨率(而不是整个桌面)?
我有两个不同尺寸的显示器,使用(我相信)TwinView 连接在一起。
我试过
并得到
如果将两台显示器一起计算,这是正确的。
而不是这个,我希望能够实现以下目标之一:
- 获取当前显示器的分辨率
- 获得主显示器的分辨率
java - 如何使用鼠标拖动事件在java小程序上绘制矩形
我正在使用java。我想根据 mousedrag 事件绘制矩形。如果用户拖动鼠标,则小程序上的矩形应根据当前鼠标坐标增加或减少。我有以下代码。
在下面的代码中,我使用了 [b]SelectionArea[/b] 类,它扩展了我正在执行绘图操作的画布。我在这个类中使用 [b]image[/b] 变量进行双缓冲以减少闪烁并保存小程序的先前状态(即小程序的绘制内容)
但是如果我绘制第一个矩形,代码工作正常。如果我开始绘制第二个矩形,则先前绘制的矩形正在消失。我希望之前绘制的矩形出现在屏幕上
谁能告诉我如何解决这个问题。
}
}
另外,如果我在全屏模式下运行此代码,那么我会看到矩形仅在我释放鼠标后才出现在屏幕上。但我希望在拖动鼠标时矩形出现在屏幕上,它应该根据当前鼠标坐标改变它的尺寸。任何人都可以帮助我吗?
java - 打印彩色页眉和页脚?
我正在尝试在打印 JTable 时创建彩色页眉和页脚。具体来说,我正在查看 javax.swing.JTable 中的 getPrintable(),但 MessageFormat 没有给我指定页眉或页脚颜色的选项。
我该怎么做?
澄清 我有兴趣在打印时设置页眉/页脚。例如,记事本将文件名作为标题附加到您打印的内容中。
更新 似乎没有标准的方法可以做到这一点,有人可以给我一些解决方法吗?到目前为止发布的唯一答案与打印(如发送到打印机,不显示到屏幕)页眉/页脚无关。
从我的评论中复制:我对打印页眉/页脚感兴趣。例如,当您从记事本打印文档时,它会将文件名附加为页眉(或者可能是页脚,我记不清了)
java - 覆盖paint或paintComponent时需要恢复图形原始状态
我意识到大多数Java代码都可以覆盖paint或paintComponent,它们中的大多数在更改图形对象的状态后都不会恢复图形对象的旧状态。例如,setStroke、setRenderingHint...
我想知道在从方法返回之前恢复图形对象的旧状态是否是一个好习惯。例如
这是一个好习惯吗?还是结束了?
java - 为所有子组件设置属性
我以前从未使用过 Java AWT,现在我有一段代码显示 aJFrame
并将所有子组件的字体属性设置为相同的值。我只想将属性设置在一个地方。我怎样才能做到这一点?
在 .NET/WinForms 中,子控件从其父控件继承,因此设置Form
实例的字体以使其传播到所有控件就足够了。出乎意料的是,这似乎不适用于 AWT。
以下小代码递归地设置所有组件的字体:
但是,它有四个缺点:
- 额外的代码,对于带有嵌套布局面板的大型表单,这实际上可能效率很低。
- 代码是非通用的。如果将来我需要对另一个属性做同样的事情,我必须重写该方法(或以简洁为代价将其重构为更通用)。
- 用法是非声明性的,即必须在表单创建的最后(在所有子组件都已初始化和添加之后)调用,而不是在任何地方以声明性方式调用。
- 它不起作用。组件设置正确,但并非所有东西都是组件。例如,
TitledBorder
s 的JPanel
s 没有被设置。