Tag: embedded resource

如何使用JButton播放.wav文件?

所以最近,我一直试图制作自己的马里奥游戏(对我自己,可能是为了展示我的其他朋友)。 游戏包括按钮。 当我点击其他游戏中的按钮时,它会发出声音。 我很乐意将这个function添加到我的游戏中。 问题是,它没有发挥作用。 我的源代码是: import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.Clip; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class JButtonClick { JButton test = new JButton(“Click Me!”); JPanel panel = new JPanel(); public void playSound(String soundName) { try { AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File(soundName).getAbsoluteFile()); Clip clip = AudioSystem.getClip(); […]

在Java中使用资源文件

我刚开始使用“Java资源文件”,我有几个问题…… 我希望将我的程序分发给其他人,我假设JAR文件不是最好的方法。 我可能会通过“转换为exe”来实现这个好习惯吗? 有什么限制? 如果我转换为exe,它会保留资源文件吗? 我其实只是想尝试使用资源文件。 此文件是一个文本文件,只保存某些文件的用户目录,因此每次打开程序时都不需要设置它们。 这是最好的方式吗? 你如何在代码本身中引用资源文件? 这就是我所做的。 创建了一个新的资源文件,因为我使用的是Netbeans,我可以在导航器的files选项卡下看到它的位置,如下所示: Mainproject 建立 类 我的课 资源 directories.txt 这是我试图访问它的方式,但是当我调试它时会返回null。 private void getPaths()//todo { try { InputStream is = getClass().getResourceAsStream(“/resources/directories.txt”); InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); String line; while ((line = br.readLine()) != null) { System.out.println(line); } br.close(); isr.close(); is.close(); } catch(Exception e) […]

打包包含图像的程序

我有大量的问题打包我的java程序,其中包含图像到jar转换为可执行文件。 图像已用于程序和按钮的背景中。 请参阅下图,其中显示了我希望转换为jar的程序。 图片 如上所示,程序运行正常。 我创建了相同的程序,没有自定义背景和自定义按钮,不包含任何图像,我成功将其打包到一个jar中,随后打包成一个.exe文件。 关于绘制我的背景,我这样做如下: public void paintComponent(Graphics g) { Image img = new ImageIcon(“imgs/Bgnd1.jpg”).getImage(); Dimension size = new Dimension(img.getWidth(null), img.getHeight(null)); setPreferredSize(size); setMinimumSize(size); setMaximumSize(size); setSize(size); setLayout(null); g.drawImage(img, 0, 0, null); } 关于使用图像创建我的4个自定义按钮,我正在执行以下操作: // Prepare rollover images ImageIcon F1 = new ImageIcon(“imgs/btn_f1_not_selected.jpg”); ImageIcon F1rollOver = new ImageIcon(“imgs/btn_f1_selected.jpg”); // Create F1 button final JButton btnF1 […]

编译时图像有问题

我一直在互联网上试图找出如何在编译成可运行的jar后显示图像图标。 我发现这个问题太晚了,我在eclipse之前多次运行我的程序并且每件事都有效,现在6个月后项目完成,我用eclipse编译我的程序,没有音频或图像工作。 在网上阅读,它说关于图像文件夹的位置应该在jar内,但我的不会放在那里? 我玩过图像文件夹在源文件夹中移动它,但它没有用。 我有一种感觉,它可能与资源的路径有关…但这只是猜测。 我已经构建了一个具有相同结果的简单程序…在eclipse中运行时有效,但在编译时则无效。 有人可以通过修改下面的代码向我展示一个例子。 提前致谢。 源代码: package ImageIcon; import java.awt.BorderLayout; import java.awt.Color; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; public class Gui { public static JLabel c; public Gui(){ JFrame f = new JFrame(); JPanel p = new JPanel(); p.setBounds(0, 0, 120, 200); p.setBackground(Color.black); p.setLayout(null); JPanel bg = new JPanel(new BorderLayout()); […]

Java Swing:无法使用getResource加载图像

我试图在尝试将图像添加到类目录时找出问题所在。 (这样做,当我导出为可运行的JAR时,图像包含在包中)。 所以我将strawberry.jpg文件放在’C:\ Users \ sean \ workspace \ myApps \ src \ testing’中你能告诉我我缺少什么吗? 谢谢! package testing; import java.awt.*; import javax.swing.*; public class IconTest { public static void main(String[] arguments) { JFrame frame1 = new JFrame(); frame1.setTitle(“Frame1”); frame1.setSize(500, 500); frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); FlowLayout flo = new FlowLayout(); frame1.setLayout(flo); JLabel label1 = new JLabel(new ImageIcon( IconTest.class.getResource(“strawberry.jpg”))); frame1.add(label1); frame1.setVisible(true); […]

getResourceAsStream()在jar中返回null但在eclipse中很好

我有一个使用LWJGL的Java程序。 它在Eclipse中运行良好,但是当我尝试将其编译为jar文件时,它会崩溃,给我一个NullPointerException。 之前有人问过,我知道,但我似乎没有得到有效的答案。 有什么帮助吗? 提前致谢! 似乎有问题的是TextureHelper类: public class TextureHelper { public static Texture LoadTexture(String texture) { try { return TextureLoader.getTexture(“PNG”, ResPlaceholder.class.getResourceAsStream(texture)); } catch (IOException e) { e.printStackTrace(); return null; } } } 一些说明: 我也试过“/ res /”+纹理,以及许多其他类似的东西。 ResPlaceholder是一个位于res文件夹中的类,用于存储我的所有图像。 这是一个空白的空课。 这在Eclipse中完美运行。 我的jar有这些文件夹(仅作为示例): foo.jar中 – – 核心 ——– TextureLoader —- RES ——–什锦图像文件 ——– ResPlaceholder 这与eclipse中的包相同。 如果你有任何帮助,我会很感激,我已经坚持了好几天没有进展。 编辑: META-INF […]

通过BufferedImage从文件路径加载图像

我的Java应用程序有问题,特别是从我的计算机中的某个位置加载图像。 按照这篇文章我使用BufferedImage和InputFileStream在我的计算机中加载图像首先,我将pic2.jpg图像放入源代码中,没关系。 但是,第二,我把这个图像放到另一个地方(在这种情况下是C:\ ImageTest \ pic2.jpg),Java IDE在行显示IllegalArgumentException“input == null” return ImageIO.read(in); 。 我去谷歌搜索确保,我放入代码的链接forms是正确的,所以,我不知道我在哪里做错了…. 这是代码: public class MiddlePanel extends JPanel { private BufferedImage img; public MiddlePanel(int width){ //img = getImage(“pic2.jpg”); img = getImage(“C:\\ImageTest\\pic2.jpg”); this.setPreferredSize(new Dimension(800,460)); } public void paintComponent(Graphics g) { ….. } private BufferedImage getImage(String filename) { // This time, you can use an InputStream […]

JButton上的ImageIcons没有出现在Runnable JAR文件中

我的GUI上有6个JButton都有图像,当我编译并运行代码时,JButtons上的所有图像都很好地显示但是在可运行的JAR文件中,JButton上的图像没有显示出来……我该如何解决这个问题? 我在我的代码中使用此方法在JButtons上显示图标 ImageIcon SettingsIc = new ImageIcon(“bin/images/settings.png”); jb1 = new JButton(SettingsIc); jb1.setFocusPainted( false ); //jb1.setBorderPainted(false); jb1.setContentAreaFilled(false); 这是我在Eclipse中编译代码时GUI的外观 这是执行Runnable JAR文件后GUI的外观

如何在Java中引用资源?

我需要在我的代码中读取一个文件。 它实际上驻留在这里: C:\eclipseWorkspace\ProjectA\src\com\company\somePackage\MyFile.txt 我把它放在一个源包中,这样当我创建一个可运行的jar文件(Export-> Runnable JAR文件)时,它就会被包含在jar中。 最初我在项目根目录中使用它(并且还尝试了一个普通的子文件夹),但导出不包括在jar中。 如果在我的代码中我做: File myFile = new File(“com\\company\\somePackage\\MyFile.txt”); jar文件正确定位文件,但在本地运行(Run As-> Java Main应用程序)会抛出一个找不到文件的exception,因为它期望它是: File myFile = new File(“src\\com\\company\\somePackage\\MyFile.txt”); 但这在我的jar文件中失败了。 所以我的问题是,如何让这个概念在本地和我的jar文件中运行?

Jar将图像作为资源

我正试图从我的jar子里加载一个图像。 但无论我为getResource()提供什么字符串,它总是返回null。 try { System.out.println(Bootstrapper.class.getResource(“./img/logo.png”).toURI().getPath()); } catch (URISyntaxException ex) { Logger.getLogger(CrawlerFrame.class.getName()).log(Level.SEVERE, null, ex); } ImageIcon ii = new ImageIcon(Bootstrapper.class.getResource(“./img/logo.png”)); setIconImage(ii.getImage()); net.sharpcode.crawler.ui.CrawlerFrame中net.sharpcode.crawler.ui.CrawlerFrame.init(CrawlerFrame.java:35)中的线程“AWT-EventQueue-0”java.lang.NullPointerException中的exception。(CrawlerFrame.java: 28)at net.sharpcode.crawler.Bootstrapper $ 1.run(Bootstrapper.java:55) 我试过了: getResource(“”) getResource(“.”) getResource(“./”) getResource(“/img/logo.png”) Bootstrapper.class.getProtectionDomain().getCodeSource().getLocation().getPath()