<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 用 Java 顯示圖像 原文:http://zetcode.com/java/displayimage/ 在 Java 中顯示圖像教程介紹了如何在 Java 中顯示圖像。 我們展示了如何使用命令行工具 Ant,Maven,NetBeans 和 Eclipse 構建項目。 源代碼和圖像可在作者的 [Github 倉庫](https://github.com/janbodnar/Display-Image)中獲得。 初學者程序員經常在項目中顯示圖像時遇到問題。 問題在于正確識別圖像文件的路徑。 關鍵部分是要認識到圖像文件的相對路徑是從項目目錄開始的。 創建本教程的目的是使事情變得清楚。 以下示例顯示了該應用的屏幕截圖。 ![Displaying image in Java](https://img.kancloud.cn/6c/44/6c443e0d3170a0eccdf5a1cc7da28caf_436x322.jpg) 圖:用 Java 顯示圖像 ## 源代碼 在這里,我們提供了用于在 Java 中顯示圖像的源代碼。 `DisplayImage.java` ```java package com.zetcode; import java.awt.Container; import java.awt.EventQueue; import javax.swing.GroupLayout; import javax.swing.ImageIcon; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JLabel; public class DisplayImage extends JFrame { public DisplayImage() { initUI(); } private void initUI() { ImageIcon ii = loadImage(); JLabel label = new JLabel(ii); createLayout(label); setTitle("Image"); setLocationRelativeTo(null); setDefaultCloseOperation(EXIT_ON_CLOSE); } private ImageIcon loadImage() { ImageIcon ii = new ImageIcon("simg/snake.jpg"); return ii; } private void createLayout(JComponent... arg) { Container pane = getContentPane(); GroupLayout gl = new GroupLayout(pane); pane.setLayout(gl); gl.setAutoCreateContainerGaps(true); gl.setHorizontalGroup(gl.createSequentialGroup() .addComponent(arg[0]) ); gl.setVerticalGroup(gl.createParallelGroup() .addComponent(arg[0]) ); pack(); } public static void main(String[] args) { EventQueue.invokeLater(() -> { DisplayImage ex = new DisplayImage(); ex.setVisible(true); }); } } ``` 該示例創建一個 Java Swing 應用,并使用`ImageIcon`組件顯示圖像。 ```java private ImageIcon loadImage() { ImageIcon ii = new ImageIcon("simg/snake.jpg"); return ii; } ``` 重要的部分在這里。 `ImageIcon`采用圖像的文件路徑。 該文件路徑取決于我們使用的構建工具。 ## 使用命令行工具顯示圖像 第一個示例使用命令行工具構建 Java 應用。 ```java $ mkdir bin $ mkdir -p src/main/com/zetcode/ $ mkdir src/maimg $ cp ~/Pictures/snake.jpg src/maimg/ ``` 我們創建項目結構并將圖像復制到`images`目錄。 ```java private ImageIcon loadImage() { ImageIcon ii = new ImageIcon("src/maimg/snake.jpg"); return ii; } ``` 在命令行應用中,我們使用了`src/maimg/snake.jpg`路徑。 ```java $ tree . ├── bin └── src └── main ├── com │ └── zetcode │ └── DisplayImage.java └── images └── snake.jpg 6 directories, 2 files ``` 這就是項目目錄結構的樣子。 ```java $ javac -d bin src/main/com/zetcode/DisplayImage.java ``` 該應用使用`javac`工具進行編譯。 ```java $ tree . ├── bin │ └── com │ └── zetcode │ └── DisplayImage.class └── src └── main ├── com │ └── zetcode │ └── DisplayImage.java └── images └── snake.jpg 8 directories, 3 files ``` 編譯源代碼后,我們在`bin/com/zetcode`子目錄中創建了一個 Java 類文件。 ```java $ java -cp bin com.zetcode.DisplayImage ``` 我們使用`java`命令運行該應用。 ## 使用 Ant 構建項目 在本節中,我們將使用 Ant 構建工具來創建項目。 ```java $ mkdir -p src/main/com/zetcode/ $ mkdir src/maimg $ cp ~/Pictures/snake.jpg src/maimg/ ``` 我們創建目錄并復制圖像文件。 ```java $ tree . ├── build.xml └── src └── main ├── com │ └── zetcode │ └── DisplayImage.java └── images └── snake.jpg 5 directories, 3 files ``` 使用`tree`命令,顯示項目的目錄結構。 `build.xml` ```java <?xml version="1.0"?> <project name="DisplayImage" default="compile"> <target name="init"> <mkdir dir="build/classes"/> </target> <target name="compile" depends="init"> <javac includeantruntime="false" srcdir="src" destdir="build/classes"/> </target> <target name="clean"> <delete dir="build"/> </target> </project> ``` 這是 Ant 構建文件。 我們有創建目錄,編譯源代碼和清理的任務。 ```java private ImageIcon loadImage() { ImageIcon ii = new ImageIcon("src/maimg/snake.jpg"); return ii; } ``` 我們使用`src/maimg/snake.jpg`路徑。 ```java $ ant Buildfile: /home/janbodnar/prog/javaimages/displayimageant/build.xml init: compile: [javac] Compiling 1 source file to /home/janbodnar/prog/javaimages/displayimageant/build/classes BUILD SUCCESSFUL Total time: 2 seconds ``` 我們建立項目。 ```java $ java -cp build/classes/ com.zetcode.DisplayImage ``` 該應用啟動。 ## 在 NetBeans 中顯示圖像 在 NetBeans 中,我們創建一個 Java 應用。 我們創建一個新文件夾。 我們右鍵單擊“源包”,然后選擇“新建—文件夾”。 ![Creating a folder in NetBeans](https://img.kancloud.cn/c5/41/c541d690186beeda0832a074e77a4573_491x207.jpg) 圖:在 NetBeans 中創建一個文件夾 我們將文件夾稱為`images`。 其父目錄為`src`。 使用拖放操作,將`snake.jpg`文件復制到`images`子目錄。 ```java private ImageIcon loadImage() { ImageIcon ii = new ImageIcon("simg/snake.jpg"); return ii; } ``` 在 NetBeans 中,我們使用了`simg/snake.jpg`路徑。 ```java System.out.println(System.getProperty("user.dir")); ``` 該應用的當前工作目錄是項目目錄,在本例中為`DisplayImageEx`。 我們可以使用`user.dir`系統屬性找出當前的工作目錄。 `src`目錄是項目目錄的子目錄。 ![Project in NetBeans](https://img.kancloud.cn/1a/a6/1aa6af71465fd1fafed8de23ac3c320b_225x218.jpg) 圖:項目結構 in NetBeans 該圖顯示了 NetBeans 中的實際項目結構。 ## 在 Eclipse 中顯示圖像 在 Eclipse 中,我們創建一個 Java 項目。 我們在項目節點上單擊鼠標右鍵,然后選擇“新建—源文件夾”。 我們將文件夾名稱稱為`images`。 與 NetBeans 不同,它的父目錄是項目文件夾。 使用拖放操作,將`snake.jpg`文件復制到`images`子目錄。 ```java private ImageIcon loadImage() { ImageIcon ii = new ImageIcon("images/snake.jpg"); return ii; } ``` 在 Eclipse 中,我們使用了`images/snake.jpg`路徑。 ![Project in Eclipse](https://img.kancloud.cn/47/63/47635c948cfae06016ede73296c32031_266x177.jpg) 圖:項目結構 in Eclipse 該圖顯示了 Eclipse 中的實際項目結構。 這是 Java 教程中的圖像顯示。 我們已經構建了一個 Swing 應用,該應用使用命令行工具,Ant,NetBeans 和 Eclipse 顯示圖像。 您可能還需要查看[`ImageIcon`教程](/java/imageicon/),[在 Java 中讀寫 ICO 文件](/articles/javaico/), [Java Swing 教程](/tutorials/javaswingtutorial/), [Java 2D 教程](/gfx/java2d/), 或 [Java 游戲教程](/tutorials/javagamestutorial/)。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看