2013-08-02 80 views
8

Vì vậy, tôi đang sử dụng Eclipse với trình tạo Windows. Tôi đã tự hỏi nếu có anyway tôi có thể nhập một hình ảnh sẽ hiển thị trên JFrame mà tôi có thể dễ dàng di chuyển và thay đổi kích thước thay vì thiết lập vị trí và kích thước và vẽ nó.Thêm hình ảnh vào JFrame

+4

Thêm hình ảnh vào 'JLabel' – Reimeus

+0

Đó là một ý tưởng hay, cảm ơn vì điều đó. – user2612619

Trả lời

14

Không có thành phần hình ảnh chuyên cung cấp trong Swing (đó là buồn theo ý kiến ​​của tôi). Vì vậy, có một vài tùy chọn:

  1. Như @Reimeus đã nói: Sử dụng JLabel có biểu tượng.
  2. Tạo trong trình tạo cửa sổ một JPanel, sẽ đại diện cho vị trí của hình ảnh. Sau đó, thêm thành phần hình ảnh tùy chỉnh của riêng bạn vào JPanel bằng một vài dòng mã bạn sẽ không bao giờ phải thay đổi. Họ sẽ trông như thế này:

    JImageComponent ic = new JImageComponent(myImageGoesHere); 
    imagePanel.add(ic); 
    

    nơi JImageComponent là một lớp tự tạo ra mà kéo dài JComponent đó sẽ ghi đè các paintComponent() phương pháp để vẽ hình ảnh.

+1

@Downvoter: Chăm sóc bình luận? –

14

Đây là một ví dụ đơn giản của việc thêm một hình ảnh đến một JFrame:

frame.add(new JLabel(new ImageIcon("Path/To/Your/Image.png"))); 
2

Nếu bạn đang sử dụng Netbeans để phát triển, hãy sử dụng jLabel và thay đổi thuộc tính biểu tượng của nó.