ฉันได้ลอง
stage.getIcons().add(new Image("attuncore.jpg"));
แต่ไม่รู้ว่าเกิดไรขึ้น..
กรุณาช่วย. ขอบคุณล่วงหน้า.
ฉันได้ลอง
stage.getIcons().add(new Image("attuncore.jpg"));
แต่ไม่รู้ว่าเกิดไรขึ้น..
กรุณาช่วย. ขอบคุณล่วงหน้า.
โปรแกรมตัวเต็มสำหรับมือใหม่ :) โปรแกรมนี้ตั้งค่า Stack Overflow Icon
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class StackoverflowIcon extends Application {
@Override
public void start(Stage stage) {
StackPane root = new StackPane();
// set icon
stage.getIcons().add(new Image("/path/to/stackoverflow.jpg"));
stage.setTitle("Wow!! Stackoverflow Icon");
stage.setScene(new Scene(root, 300, 250));
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
ภาพหน้าจอเอาต์พุต
อัปเดตสำหรับ JavaFX 8
ไม่จำเป็นต้องเปลี่ยนรหัส มันยังคงทำงานได้ดี ทดสอบและตรวจสอบแล้วใน Java 1.8(1.8.0_45) สามารถตั้งค่าเส้นทางเป็นท้องถิ่นหรือระยะไกลได้ทั้งสองอย่างได้รับการสนับสนุน
stage.getIcons().add(new Image("/path/to/javaicon.png"));
OR
stage.getIcons().add(new Image("https://example.com/javaicon.png"));
หวังว่ามันจะช่วยได้ ขอบคุณ!!
คุณสามารถโหลดรูปภาพจาก classpath ได้ดังนี้:
new Image(XYZ.class.getResourceAsStream("/xyz.png"))
โดยที่ XYZ คือชื่อคลาส (อาจเป็นชื่อที่คุณใช้โหลดอิมเมจ) และ xyz.png คือชื่อไฟล์รูปภาพของคุณ ใส่ไว้ในไดเร็กทอรี (หรือไฟล์ JAR) ที่รวมอยู่ใน classpath ของคุณ
หากคุณต้องการวางรูปภาพไว้ข้างไฟล์ต้นฉบับ คุณต้องละอักขระ / ออก IDE ของคุณจะต้องได้รับการกำหนดค่าให้คัดลอกทรัพยากร (เช่น *.png) จาก src ไปยังไดเร็กทอรี bin แต่นี่ควรจะเป็นพฤติกรรมมาตรฐาน
รูปภาพของคุณมีขนาดที่ถูกต้องหรือไม่? Javadoc ระบุว่า:
ObservableList getIcons () สาธารณะขั้นสุดท้าย
รับภาพไอคอนเพื่อใช้ในการตกแต่งหน้าต่างและเมื่อย่อเล็กสุด รูปภาพควรมีขนาดแตกต่างกันของรูปภาพเดียวกัน และเลือกขนาดที่ดีที่สุด เช่น 16x16,32,32.
วิธีแก้ปัญหาที่ฉันพบโดยการตั้งค่าคุณสมบัติของไดเร็กทอรีการทำงานแบบสแตนด์อโลนให้เป็นแพ็กเกจที่หลักและรูปภาพของฉันถูกวางไว้
อย่าลืมทำการนำเข้า
import javafx.scene.image.Image;
Image icon = new Image(getClass().getResourceAsStream("myicon.png"));
stage.getIcons().add(icon);
แทนที่ "myicon.png"
ด้วยไอคอนของคุณ ในกรณีนี้จะอยู่ในโฟลเดอร์เดียวกับคลาส Java ของคุณ
สำหรับผู้ที่มีปัญหาเรื่อง:
URL ไม่ถูกต้อง: ไม่พบ URL หรือทรัพยากรไม่ถูกต้อง
ทางออกที่ดีที่สุดคือสร้างแพ็คเกจใหม่ เช่น image.icon และย้ายรูปภาพ .png ของคุณไปที่นั่น จากนั้นคุณเพียงแค่ต้องเขียน:
Image image = new Image("/image/icons/list.png");
primaryStage.getIcons().add(image);
ฉันหวังว่านี่จะช่วยใครซักคนได้!