Tag: awt

模拟Java中的一个键

我希望模拟在Java中短时间内按住键盘键的动作。 我希望下面的代码按住A键5秒钟,但它只按一次(在记事本中测试时产生一个’a’)。 知道我是否需要使用其他东西,或者我只是在这里使用awt.Robot类错了? Robot robot = null; robot = new Robot(); robot.keyPress(KeyEvent.VK_A); Thread.sleep(5000); robot.keyRelease(KeyEvent.VK_A);

为什么paint()/ paintComponent()从未调用过?

在过去的两天里,我试图了解 Java如何处理图形,但是在这方面却失败了。 我的主要问题是如何以及何时应该调用paint()(或更新的paintComponent())。 在下面的代码中我看到了什么时候创建的东西,paintComponent()从不被调用,除非我自己手动添加一个调用或者调用JFrame.paintAll()/ JFrame.paintComponents()。 我将paint()方法重命名为paintComponent(),希望能解决我永远不会被调用的问题(即使在repaint()),但没有运气。 package jpanelpaint; import java.awt.*; import javax.imageio.*; import javax.swing.*; import java.io.*; import java.util.ArrayList; public class ImageLoadTest extends JComponent { ArrayList list; public ImageLoadTest() { list = new ArrayList(); try { //create the images (a deck of 4 cards) for(String name : createImageFileNames(4)){ System.err.println(name); list.add(ImageIO.read(new File(name))); } } catch (IOException e) […]

字符显示/搜索Unicode字符

在回答关于这些部分的另一个问题时 ,我对可能从系统中可用字体显示的Unicode字符获得的字形感到好奇。 当然,在典型的机器上有65,536个Unicode字符和250多种字体! 让人想知道从哪里开始。 什么是美妙的应用程序。 这允许我们浏览在列表中选择的.any字体中显示的Unicode代码点表。 如果还有: 一个微调器,允许我们跳转到任何感兴趣的代码点。 列表中不太模糊的Unicodes的名称,带有文本搜索可编辑组合。 有关特定选定Unicode点的详细信息,包括: 字符或字形的大显示,所以我们可以注意它。 可以显示它的字体列表。 代码点的属性。 这样的应用程序。 存在? 它可能看起来很好..像这样的东西!

将文本内容转换为图像

有没有允许将文本内容转换为图像文件的Java库? 我只知道ImageMagick (在这种情况下是JMagick)但我不想安装任何外部二进制文件(我的应用程序将在Tomcat服务器中部署为.war文件,因此我不希望任何其他依赖项比Java更多) 。 例如,从字符串“Hello”,我想生成这个简单的图像:

华氏度到摄氏度的转换率仅为0.0和-0.0

我正在阅读我的Java方法书的第8章(方法,构造函数和字段),我的练习中遇到了问题。 提供的代码是Temperature.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.text.DecimalFormat; public class Temperature extends JApplet implements ActionListener { private JTextField displayF, displayC; private static DecimalFormat displayFormat = new DecimalFormat(“0.0″); public void init() { Container c = getContentPane(); c.setBackground(Color.white); c.setLayout(new GridLayout(2, 2, 10, 0)); c.add(new JLabel(” Fahrenheit:”)); c.add(new JLabel(” Celsius:”)); displayF = new JTextField(6); displayF.setBackground(Color.yellow); displayF.addActionListener(this); […]

如何检查JButton是否被按下? 如果isEnable()不起作用?

如何检查JButton是否被按下? 我知道有一个方法,它的名字是“isEnabled” 所以我尝试编写一个代码进行测试。 这段代码有2个Jbuttons,分别是“Add”按钮和“Checkout”按钮。 在按下“添加”按钮后,当我按下“结帐”按钮时,代码将显示“添加按钮被按下”消息但是如果在按下“结账”按钮之前未按下“添加”按钮,则代码将显示“未按下添加按钮”消息。 这里的代码: final JButton btnAdd = new JButton(“Add”); btnAdd.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { } }); panel.add(btnAdd); JButton btnConfirm = new JButton(“Check Out”); btnConfirm.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (btnAdd.isEnabled()) { System.out.println(“Add Button is pressed”); } if (!btnAdd.isEnabled()) { System.out.println(“Add Button is not pressed”); } } […]

如何使用键绑定在屏幕上移动矩形?

我正在尝试创建的游戏是蛇,到目前为止我已经想出如何使用paint(Graphics g)一点JPanel ,鼠标监听器,现在我正在尝试创建一个将在屏幕上移动的矩形使用键绑定或键侦听器,但我不知道我应该怎么做。 这是我的代码到目前为止,它有2个部分。 第一部分叫做snake2因为如果我不知道自己在做什么,我会用不同的东西制作相同的程序。 Snake使用框架,但Snake2使用JPanel (看起来更好……) import java.awt.*; //required for MouseListener import java.awt.event.*; //requied for Graohics import java.applet.*; import javax.swing.*; public class Snake2 extends JPanel { private Rectangle sampleObject; public Snake2() { addMouseListener(new MouseListener()); } /* create background */ public void paint (Graphics g) { Font angel = new Font(“Angelic War”, Font.BOLD, 60); Font […]

这是使用Java 2D Graphics API的正确方法吗?

我正在为JBox2D模拟创建一个图形前端。 模拟以递增方式运行,并且在更新之间,应该绘制模拟的内容。 类似于游戏,除了没有输入。 我只需要几何图元来绘制JBox2D模拟。 这个API似乎是最简单的选择,但它的设计有点令人困惑。 目前我有一个名为Window JFrame类,它包含另一个名为Renderer类作为成员。 Window类仅初始化自身并提供updateDisplay()方法(由主循环调用),该方法在Renderer上调用updateDisplay(objects)方法。 我自己制作了这两种方法,它们的唯一目的是在Renderer上调用repaint() 。 JPanel应该以这种方式使用吗? 或者我应该使用一些更复杂的动画方法(这涉及一些后端线程中的事件和/或时间间隔)?

拖放后移动组件

我见过拖放代码 。 问题1:如何在丢弃图像后在丢弃的面板内移动图像(使用鼠标指针)。 (图像的目的地,我想要在哪里释放鼠标。然后改变位置(使用鼠标会更好。或使用按钮 – 但使用鼠标更好) 问题2:如何在结束后更改位置? ps我想在这里图像到组件。 首先我拖放组件。 然后使用鼠标指针更改位置(移动它)。 这是代码: import java.awt.BorderLayout; import java.awt.EventQueue; import java.awt.GridBagLayout; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; import java.awt.dnd.DnDConstants; import java.awt.dnd.DragGestureEvent; import java.awt.dnd.DragGestureListener; import java.awt.dnd.DragGestureRecognizer; import java.awt.dnd.DragSource; import java.awt.dnd.DragSourceDragEvent; import java.awt.dnd.DragSourceDropEvent; import java.awt.dnd.DragSourceEvent; import java.awt.dnd.DragSourceListener; import java.awt.dnd.DropTarget; import java.awt.dnd.DropTargetDragEvent; import java.awt.dnd.DropTargetDropEvent; import java.awt.dnd.DropTargetEvent; import java.awt.dnd.DropTargetListener; import java.io.IOException; import javax.swing.DefaultListModel; […]

在Java中镜像动画gif加载 – ImageIcon

所以我有一个动画gif,我加载到ImageIcon像这样: Image image = new ImageIcon(“image.gif”).getImage(); 我可以用它绘制它: g.drawImage(image, x, y, null); 我知道我可以使用AffineTransform动态镜像它,但是我需要能够在加载后水平镜像它,这样我可以在需要时绘制镜像,而不会在每次重绘时转换它。 有没有办法使用swing / awt来做到这一点? 一个可以做到这一点的图书馆也将是一个巨大的帮助。