89得票2回答
Java2D:如何增加线条宽度

我想增加Line2D的宽度,但找不到任何方法来做到这一点。我需要为此创建一个小矩形吗?

61得票2回答
设置LCD伽马/对比度(IntelliJ IDEA,JDK 8)

我在IntelliJ IDEA中遇到了反锯齿文本的问题。由于某种原因,该软件自带OpenJDK 8版本。在深色背景下,次像素抗锯齿可以接受: 但是在浅色背景下伽马值不正确: 这意味着在这种方案中,文本看起来就像加粗并且水平模糊。 有没有可能指定一个系统属性或以其他方式欺骗系统,以...

59得票3回答
Java2D性能问题

我在使用Java2D时遇到了性能问题。虽然我知道可以通过设置sun.java2d.opengl VM参数来启用2D的3D加速,但即使这样也会出现一些奇怪的问题。 以下是我运行的测试结果: 绘制一个25x18像素大小,32x32像素大小的瓷砖地图到JComponent上 图像1 = .bmp...

38得票3回答
Java2D:将Graphics强制转换为Graphics2D总是安全的吗?

假设我们始终使用Sun JVM(例如1.5+),将Graphics引用强制转换为Graphics2D是否总是安全的? 我还没有看到它引起任何问题,据我所知,Graphics类是遗留代码,但Java设计师不想更改Swing和AWT类的接口以保持向后兼容性。

33得票9回答
Java 2D 绘图的最佳性能

我正在编写一个Java 2D游戏。我正在使用内置的Java 2D绘图库,在从JFrame中的Canvas获取的BufferStrategy上绘制Graphics2D(有时全屏)。 BufferStrategy是双缓冲的。通过定时器主动进行重绘。然而,我在Linux系统上遇到了一些性能问题。 ...

28得票7回答
如何在Java中绘制有向箭头线?

我想通过Java绘制一条有向箭头线。 目前,我正在使用java.awt.Line2D.Double类来绘制一条线。g2.setStroke(new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL)); // g2 ...

27得票17回答
退出Swing应用程序时偶尔出现InterruptedException。

我最近把电脑升级成了一台更加强大的机器,它拥有一个四核超线程处理器(i7),因此具备充足的并发性能。现在我正在开发一个带有Swing GUI的应用程序,有时在退出应用程序(使用System.exit(0))时会出现以下错误:Exception while removing reference:...

25得票9回答
如何在给定的X和Y坐标作为圆心画圆?

我开发了一款电信应用程序,用于定位塔的信号强度。我使用了Java Swing,在画移动信号发射塔位置周围的圆时遇到了问题。我已经计算出了X、Y坐标以及半径值。 请查看下面的代码,我用它来画圆,但有问题。JPanel panelBgImg = new JPanel() { public...

25得票1回答
检测复杂形状的碰撞

我想制作一个游戏,每个关卡都从一张图片中加载。 我想在Photoshop里绘制整个关卡,然后将其设置为背景,并允许玩家在上面行走。 我想要另一个不可见的图像放在顶部,在我想要碰撞的所有地方都是黑色的。 我不想使用瓷砖,因为那样很容易实现矩形碰撞等,但是会有复杂的拐角并且不是所有东西都是矩形的。...

21得票6回答
面向对象的方式进行游戏设计

我正在设计一个简单的游戏,使用Java 2D和牛顿物理学。目前我的主要“游戏循环”看起来像这样:do { for (GameEntity entity : entities) { entity.update(gameContext); } for (Drawable dr...