问题标签 [java-2d]
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 - Java2D:捕获 Line 对象上的事件
我有一个 JPanel,它有一条线、一个圆等。现在,当我点击这条线时,该事件会被报告为线事件还是一般 JFrame 事件。如果用户单击该线并移动它,我需要能够移动该线。这在 Java2D 中可能吗?
java - 在约束/框内“缩放”文本尽可能大
第一个问题:您有 400 像素的宽度可以继续,并且需要在该约束内尽可能大地容纳一些文本(因此,文本应使用该空间量)。
引入一个新的约束:如果文本只是“A”,那么它不应将其缩放到 100 像素高度(或某些特定字体大小)以上。
然后,最后一种情况:换行符。在例如 400 x 150 像素内以尽可能大的方式调整一些文本。
一个明显的方法是简单地从第 1 点开始,然后增加直到你不能再适应它。这将适用于所有三个问题,但会非常粗糙。可以通过使用一些固定点大小编写单行来完成边界内的单行拟合,检查文本的结果像素边界,然后简单地使用变换对其进行缩放(然后文本也正确缩放,请查看TransformUI)。
任何其他攻击方法的想法将不胜感激!
java - Java2d:拖动鼠标时显示选择窗口的选项
我在 Java2d 中有一个图像,我希望用户可以通过左键单击并拖动鼠标来选择图像的任何矩形部分。(类似于 mspaint)。这实际上是如何完成的?
谢谢你。
java - Java2D:增加线宽
我想增加 Line2D 的宽度。我找不到任何方法来做到这一点。为此,我是否需要实际制作一个小矩形?
java - Java2d: Set gradient for a lines
I am having multiple points in a plane and some hundreds of lines pass through those points. Some points can have more lines passing through them than other points. I want to show some kind of more gradient or brightness associated with lines crowded together. Is this possible to do in java2d.
Please refer to this : http://ft.ornl.gov/doku/_media/ft/projects/paraxis.jpg
Thank you.
java - 如何在 Java2D 中剪辑字符串并在最后添加 ...?
我正在尝试在 Java Swing 应用程序中打印发票。我通过扩展Printable
和实现方法来做到这一点public int print(Graphics g, PageFormat pf, int page)
。
我想在列中绘制字符串,当字符串太长时,我想剪辑它并让它以“...”结尾。如何测量绳子并将其夹在正确的位置?
我的一些代码:
即我怎样才能限制myString
最大120px?
我可以使用metrics.stringWidth(myString)
,但我没有得到我必须剪断字符串的位置。
预期结果可能是:
java - 如何使用 Java Swing 在两列中打印文本?
我在字符串中保存了更长的文本。我想在单个页面上打印两列中的文本。如何使用 Java Swing 做到这一点?
我不明白在需要使用新行时如何换行。我已经阅读了 Java 教程中的课程:打印FontMetrics
,但除了.
Java API 中有什么好的方法,或者我可以使用什么好的库?
java - 退出 Swing 应用程序时偶尔出现 InterruptedException
我最近将我的计算机更新为功能更强大的计算机,配备四核超线程处理器 (i7),因此可以提供大量真正的并发性。现在,在退出( )我正在开发的应用程序(带有 Swing GUI)时,我偶尔会遇到以下错误:System.exit(0)
好吧,鉴于它开始发生在具有更高并发能力的硬件上,并且与线程有关,而且偶尔会发生,这显然是某种时间问题。但问题是堆栈跟踪太短了。我只有上面的清单。它根本不包含我自己的代码,因此很难猜测错误在哪里。
有没有人经历过这样的事情?任何想法如何开始解决它?
编辑:由于退出 Swing 应用程序System.exit(0)
可能是“不干净的”,但我不想将主框架设置为,EXIT_ON_CLOSE
因为我想确保应用程序退出时没有任何关键的事情发生,我添加了一个机制以便它执行dispose()
调用前主框架的方法System.exit(0)
。所以现在应该很干净了,但偶尔还是会发生异常。它发生在System.exit(0)
被调用之后;dispose()
工作没有问题。也就是说,它必须来自关闭挂钩:
我什至尝试Window
通过循环遍历Window.getWindows()
数组(它包含无主Dialog
s 等)来显式处理所有 s,但它没有任何区别。这个问题似乎与“清洁度”(即在退出前显式释放原生屏幕资源)关系不大。这是另一回事,但什么?
编辑2:将默认关闭操作设置为EXIT_ON_CLOSE
没有区别。http://www.google.com/search?q=sun.java2d.Disposer.run(Disposer.java:125)发现了一些错误报告,所以也许这确实是 Sun 的 Java2D 实现中的错误。我可以想象这样的错误可能会在很长一段时间内无法修复,因为它们在实践中是无害的;关闭挂钩的异常几乎不会伤害其他任何人。鉴于这发生在 GUI 应用程序中,除非将stderr
其定向到控制台或日志,否则甚至不会注意到异常。
java - 用图形制作棋盘风格(java小程序)
好的,我正在制作一个绘制 32x32 方形图块(以制作地图)的小程序,我的问题是当我希望它们以 8 x 8 的大小排列时它们会沿对角线移动(因此数组的形状为 8 x 8)。那么......我该如何解决这个问题?
谢谢。无论如何,由于代码 bbcode 是一个笨蛋......这里是 pastebin URL :-)
http://www.danflow.pastebin.com/kAUEpg1E
这就是问题所在:
我想要 8 乘 8 ...... :(
java - 不能用 Java2D 画细线
我正在尝试绘制一个笔画为 1 像素的多边形。因为整个多边形缩放了 100,所以我将线宽设置为 0.01。但由于某种原因,多边形被绘制的屏幕线宽看起来是 100 像素,而不是 1。
我GeneralPath
用作多边形形状。Line2D
如果我使用相同的方法绘制形状,则确实会绘制细线。
新信息:如果我删除 setStroke 线,我会正确地得到一条 2 像素线,因为之前在 Graphics2D 对象上设置了 0.02f 的 BasicStroke。
这是真正的 setStroke 线