Tag: 摇摆

如何停止两次重复绘制方法?

这是我正在处理的骰子游戏的代码,它将结果输出到窗口。 油漆方法重复两次,这对我不利,因为我希望骰子滚动一次然后移动到下一帧。 请有人帮我解决这个问题。 先谢谢你。 import java.awt.*; import java.util.Random; import javax.swing.*; public class Dice extends JApplet { public static int pause(int n) { try { Thread.sleep(n); } catch(InterruptedException e) { } return n; } public void Dice() { JApplet app = new Dice(); JFrame frame = new JFrame(“Dice Game”); frame.setBounds(30, 50, 1300, 650); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); frame.add(app); […]

如何旋转JXImagePanel?

我想旋转JXImagePanel。 它应该是可能的 – 这是关于JXImagePanel : Swing :: JXImagePanel 虽然JLabel和JButton允许您轻松地将图像添加到Swing应用程序,但JXImagePanel使得向Swing应用程序添加任何BufferedImage或Icon变得非常容易。 如果可编辑,它还为用户提供了更改图像的方法。 此外, JXImagePanel提供了许多开箱即用的内置效果,包括Tiling , Scaling , Rotating , Compositing等。 但是,我无法弄清楚如何做到这一点。 目前我的代码片段是: bufferedImage = ImageIO.read(new File(“image.png”)); image = new ImageIcon(bufferedImage).getImage(); tempImage = image.getScaledInstance(100, 150, Image.SCALE_FAST); this.deskJXImagePanel.setImage(tempImage); 现在我想在0-360度旋转它。 怎么做?

使用Swing在JFrame上设置背景图像

我已经学习Java几周了,在将背景图像应用到JFrame时我真的很困惑。 我遇到的每个教程都没有按照我的方式创建框架(我扩展JFrame),或者如果他们这样做,说明并不清楚,我不能理解。 下面的代码来自我自己的项目,所以帮助我练习到目前为止我学到的东西。 请你可以在下面的代码的基础上,向我解释添加什么和在哪里,所以我可能有一个图像作为我的框架的背景? 我真的很感激的一件事是,如果你能解释事情是如何运作的,为什么需要它们以及它们实际上在做什么 – 我不喜欢盲目地复制和粘贴你所做的事情的想法,而不知道它是如何工作的。 解释越深入越好; 即使它听起来很光顾。 import javax.swing.*; import java.awt.*; import java.awt.event.*; class MiniPad extends JFrame implements ActionListener { JPanel pan = new JPanel(); ClassLoader ldr = this.getClass().getClassLoader(); ImageIcon closeImg = new ImageIcon(ldr.getResource(“\\images\\buttons\\closeBtn.png”)); JTextArea note = new JTextArea(“”, 6, 21); JScrollPane notes = new JScrollPane(note); JButton close = new JButton(closeImg); public static […]

如何在更改变量值时更新JTextField?

我有两个Java(.java) files 。 一个有JButton和JTextField ,另一个有一个Thread 。 在第一个Java file ,我向JButton添加了一个ActionListener ,这样,当按下按钮时,一个线程(创建的第二个.java文件的对象和启动的线程)运行,它会连续修改整数变量。 如何在JTextField (第一个.java文件)中显示该整数变量(第二个.java文件)的值? Detection.java package sample; public class Detection implements Runnable { public String viewers; public int count; public void run() { try { while (true) { // i have written code for displaying video. // and it say how many no. of people in the […]

图像无法在.jar文件中使用

创建应用程序的JAR时,应用程序中的图像不再出现。 我们加载图片的代码示例如下: ImageIcon placeHolder = new ImageIcon(“src\\Cards\\hidden.png”); 我们不知道为什么会这样。 如果我们不将它压缩到JAR,应用程序将按预期运行; 作为一个JAR,图像就会消失。 我们还尝试使用URL而不是ImageIcons,但这只会导致程序根本不运行。 有任何想法吗? 编辑:我们正在将图像文件放入正确路径的JAR文件中,这不是问题所在。

将图像添加到JFrame

所以我将Eclipse与Windows构建器一起使用。 我只是想知道无论如何我都可以导入一个将显示在JFrame上的图像,我可以轻松地移动并重新调整尺寸,而不是设置位置和大小并绘制它。

Swing UI的unit testing框架

测试UI很困难。 您认为Swing最好的unit testing框架是什么?

如何添加缓冲图像作为JFrame的背景,然后在此图像上添加一个面板?

我是计算机工程的第二个任期。 我的问题是如何添加JButton等…在背景图片上,你知道我已经写了下面的代码,请帮我继续:因为我说我的JBotton无法在图像上显示,这就是问题所在。 import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; public class MyCalcFrame extends JFrame { private BufferedImage myImage; private JPanel mypanel; private JButton mybtn; public MyCalcFrame() { this.setBounds(410, 110, 600, 450); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setResizable(false); this.setAlwaysOnTop(true); try { this.myImage=ImageIO.read(new File(“D:\\1.jpg”)); […]

JTree中的颜色行

我想在JTree中对元素进行着色。 但是,仅仅在标签上添加背景颜色看起来有点奇怪。 特别是如果选择了多个节点,则生成的形状看起来粗糙且分散注意力。 有没有办法让背景扩展树元素的整个宽度,以便整行变成彩色? 从左边框开始或从标签的开头开始,但绝对延伸到组件的右边界? 这是一个基于这个问题的小型自包含演示。 import java.awt.*; import javax.swing.*; import javax.swing.tree.*; public class SO26724913 { public static void main(String[] args) { DefaultMutableTreeNode a = new DefaultMutableTreeNode(“a”); DefaultMutableTreeNode b = new DefaultMutableTreeNode(“b”); DefaultMutableTreeNode c = new DefaultMutableTreeNode(“c”); a.add(b); a.add(c); final JTree tree = new JTree(a); tree.setCellRenderer(new DefaultTreeCellRenderer() { @Override public Component getTreeCellRendererComponent (JTree tree, Object […]

Component.setBounds调用Component.repaint?

所以我正在制作游戏,我有EnemyAI和player ,他们都扩展了JPanel 。 世界有一个null布局,所以我使用setBounds(); “移动”(我实际上只是移动世界图像) entities ( player和AI )并正确定位它们。 但是当我添加(看起来像是我测试的最小数量)5时,它会完全调用repaint() 。 这使得玩家在视觉上行走到位。 我添加的实体越多,间隔越快(即5个实体调用repaint()比500慢很多)。 注意:下面的类window只是一个JFrame 。 主类: public class Game(){ public static boolean fighting = false; public static void startGame(){ WorldPanel game = new WorldPanel(); game.setPreferredSize(new Dimension(window.getWidth(), window.getHeight())); PlayerPane player = new PlayerPane(32,32, “Player 1”); game.addKeyListener(new KeyListener(){ public void keyPressed(KeyEvent arg0) { if(fighting == false){ move(player, […]