2009-02-26 31 views
5

Tôi đang xuất một dự án java đơn giản bao gồm hai thư mục; src và các biểu tượng. Biểu tượng là một thư mục chứa ba tệp .png.Triển khai tệp .jar: Tại sao tôi không thể tải các tệp biểu tượng?

Tôi đang xuất sang tệp .jar thực thi bằng Tệp -> Xuất. Việc xuất hoạt động đúng và tệp .jar chứa thư mục Biểu tượng. Nhưng tôi không thể có được đường dẫn chính xác cho các tệp .png khi dự án được triển khai. Trong quá trình phát triển Tôi đang sử dụng đường dẫn sau:

Icons/picture.png

và nó hoạt động miễn là tôi chạy từ bên trong IDE Eclipse. Làm thế nào để tôi có được đường dẫn chính xác cho các biểu tượng?

Trả lời

6

Mã của bạn đang tìm kiếm hình ảnh bên ngoài tệp .jar. Hãy thử thay vào đó, hãy thử số URL constructor của số ImageIcon.

Icon icon = new ImageIcon(getClass().getResource("Icons/picture.png")); 

Xem Class.getResource().

4

mmyers là chính xác, nhưng lưu ý rằng getClass().getResource() sẽ tải tài nguyên liên quan đến gói nơi lớp học được xác định. Tôi nghi ngờ các biểu tượng của bạn được đóng gói ở gốc của tệp jar và không liên quan đến chính lớp đó. Để nhận tài nguyên từ thư mục gốc của đường dẫn lớp, hãy thử: getClass().getClassLoader().getResourceAsStream("Icons/picture.png")

Các vấn đề liên quan