Tag: awt

Java – 绘制标尺(带有90度角刻度线的线)

我正在使用Java AWT在面板上绘制线条( Line2D和Graphics2D.drawLine() ),我想知道如何绘制带刻度线的线条,类似于: | —- | —- | —- | —- | —- | 我知道我想提前勾选的位置。 线条可以处于任何位置,因此刻度线必须以与线条本身相关的角度绘制。 我的基本几何和在Java中应用它的能力让我失望。 🙂

组件和轻量级/重量级之间的差异

JPanel和JFrame有什么区别以及与轻量级,重量级的关系?

JFrame:获得没有边框的大小?

在Java中,是否可以获得没有标题和其他边框的JFrame的宽度和高度? frame.getWidth()和frame.getHeight()1似乎返回包括边框的宽度。 谢谢。

JLabel的ActionListener

我想学习如何为JLabel编写ActionListener 。 我想制作一个标签,在用户点击标签时为用户打开一个新框架。 也许MouseListener可以工作,但我不知道如何制作它。

Graphics2D和GraphicsContext之间的互操作性

我正在与一个寻求以Java为目标的图形渲染器的小组合作。 目前我正在试图弄清楚目标java.awt.Graphics2D是否会向前兼容。 也就是说,像JavaFX这样的其他库可以显示来自Graphics2D实例的渲染吗? java.awt.Graphics2D和javafx.scene.canvas.GraphicsContext之间是否存在互操作性? 或者,如果不直接在Graphics2D和GraphicsContext之间,是否有任何方法在JavaFX应用程序中显示Graphics2D渲染,类似于Swing在Panels中显示Graphics2D渲染? 编辑: 如果问题不明显,我对Java生态系统还不熟悉。 对于更多上下文,我在互联网搜索中发现的大多数内容都是示例/教程,解释了如何在JavaFX中完成AWT中的事情(参见示例文章 ),这不能回答我的问题,但是让我猜想没有互操作性。 但是,我希望更熟悉生态系统的人可以直接回答这个问题。

如何在OSX上使用Java进行全屏显示

我一直在尝试并且未能在OSX系统的主显示器上使用java全屏模式。 无论我尝试过什么,我似乎都无法摆脱显示屏顶部的“苹果”菜单栏。 我真的需要在整个屏幕上画画。 谁能告诉我如何摆脱菜单? 我附上了一个展示问题的示例类 – 在我的系统上,菜单仍然可见,我希望看到一个完全空白的屏幕。 import java.awt.*; import java.awt.event.*; import javax.swing.JFrame; public class FullScreenFrame extends JFrame implements KeyListener { public FullScreenFrame () { addKeyListener(this); setUndecorated(true); GraphicsDevice gd = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice(); if (gd.isFullScreenSupported()) { try { gd.setFullScreenWindow(this); } finally { gd.setFullScreenWindow(null); } } else { System.err.println(“Full screen not supported”); } setVisible(true); } public void keyTyped(KeyEvent […]

用于AWT / Swing的Java JDK 1.7中的Apple Retina显示支持

我刚才意识到Java JDK 1.7下的AWT / Swing(从JDK 7u15开始)不支持Apple Macbook Pros上的Retina显示。 例如,Netbeans几乎无法忍受在Retina显示器上运行并使用JDK 1.7超过几分钟。 这在StackExchange问​​题中有所解决,并引用了一个特定的post: Apple的Java 6 JRE将支持HiDPI,但Oracle Java 7 JRE目前不支持它。 它也不适用于Java 8的最新开发版。在Retinia MacBook上,Swing和JavaFX应用程序模糊不清。 这就是IntelliJ仍在Java 6下运行的原因。 我的问题比上述线程的OP所要求的更具体。 我的雇主不到一个月就在其所有应用程序中使用Swing。 由于多种原因,我们有兴趣从Java 6迁移到Java 7.在过去的几天里,另一位开发人员(在Windows上)将我们的平台移到Java 7.当我运行视网膜Macbook Pro时,我注意到了当我拉出代码的最新稳定分支时的问题。 我是Java的新手,在社区中有不到一年的经验,因此我的问题是:Java社区是否会对此问题做出相应的响应,或者在Swing之前是否会出现大量延迟(几个月到一年或更长时间)在Java 7中与Apple Retina显示器兼容吗?

Java键盘输入 – 游戏开发

对于我正在为课堂创作的游戏,我有一个特定的“问题”。 游戏是“打破它”的实现。 为了在底部移动平台,我只使用了一个关键的监听器。 问题是在第一次按键之后,在平台开始移动之前存在短暂的“滞后”或“断续”。 我怎么能阻止它得到顺利的回应? 还有另一种方法而不是KeyListener吗? 键绑定? 这是关键的监听器实现 private class KeyControl implements KeyListener { private int dx = 20; public void keyPressed(KeyEvent e) { if(e.getKeyCode() == KeyEvent.VK_RIGHT) { if(dx 0 ) dx = -dx; gamePanel.movePlatform(dx); } if(e.getKeyCode() == KeyEvent.VK_SPACE) { System.out.println(“space”); gamePanel.play(); } if(e.getKeyCode() == KeyEvent.VK_ESCAPE) { gamePanel.pause(); } } } 这是移动平台的方法 public void movePlatform(int […]

我不知道如何从我的文本字段中获取数据

我想从我的文本字段中获取数据并将其设置为int h。 并且有改变矩形im绘图的大小,但我不知道如何从文本字段中获取数据,我厌倦了在actionperfomred中使用e.getsource,但它无法找到我的文本字段。 我的代码如下: import java.awt.*; import java.awt.event.*; import java.awt.image.*; import java.io.*; import javax.imageio.*; import javax.swing.*; import java.net.*; import java.sql.*; import java.lang.Object; import java.awt.Graphics; import java.awt.Graphics2D; /** * This class demonstrates how to load an Image from an external file */ public class test extends Component { int x=77, y=441, w=23, h=10; BufferedImage img = […]

如何使图像在swing中伸展?

目前我正在通过BufferedImage在Jframe swing组件中加载图像。 图像加载成功,但我想让图像可伸缩,当用户选择图像的右下角并尝试resize然后它将成为可能。 &用户可以保存resize的图像,但如何做到这一点我没有确切的想法。 所以如果有人引导我,那么我会非常感激。 我不想要整个代码,但我只是想要指导和提示。 我的代码如下: import java.io.File; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.color.ColorSpace; import javax.swing.JFrame; import javax.swing.JPanel; import java.awt.image.BufferedImage; import java.awt.image.RescaleOp; import javax.imageio.ImageIO; @SuppressWarnings(“serial”) public class Brighten extends JPanel{ @Override public void paintComponent(Graphics g){ Graphics2D g2d=(Graphics2D)g; try{ //reading image data from file BufferedImage src=ImageIO.read(new File(“src.jpg”)); /* passing source image and brightening by 50%-value […]