2013-11-24 2 views
0

Кулак всего, я знал, что этот вопрос задан раньше (JFrame to image without showing the JFrame). Однако из-за плохого кодирования мой, я хотел бы попросить помощи от других о том, как удалить JFrame из моего кодирования, как показано ниже:Удалить JFrame в Java

package com.example.ImageScreen; 

import java.awt.Color; 
import java.awt.Dimension; 
import java.awt.Graphics; 
import java.awt.Graphics2D; 
import java.awt.image.BufferedImage; 
import java.io.File; 
import java.io.IOException; 

import javax.imageio.ImageIO; 
import javax.swing.*; 

//public class ImageScreen extends JPanel{ 
public class ImageScreen extends JPanel{ 
    private static final long serialVersionUID = 1L; 
    private BufferedImage image; 

    public ImageScreen() { 
     setSize(600,600); 
    //  setMinimumSize(new Dimension(250,250)); 

     try { 
               //Load the image 
      image = ImageIO.read(new File("C:/Users/User/Downloads/Geoffs_Picture_Overlay_App/crosshair.gif")); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 

    @Override 
    public void paintComponent(Graphics g) { 
     super.paintComponent(g); 
     Graphics2D g2d = (Graphics2D) g.create(); 
           //Paint it on screen 
     g2d.drawImage(image, 0, 0, image.getWidth(), image.getHeight(), null); 
     g2d.dispose(); 
    } 

    public static void main(String[] args) { 
     JFrame window = new JFrame("An Image On Screen"); 
           window.add(new ImageScreen()); 
           window.setLocationRelativeTo(null); 
           window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
           window.pack(); 
           window.setVisible(true); 
          //  window.setAlwaysOnTop(true); 
           window.setBackground(Color.CYAN); 
           window.setUndecorated(true); 
          // window.dispose(); 

    } 

} 
+0

Что вы подразумеваете под «как удалить JFrame out», установить невидимый? распоряжаться? или что-то другое? – alex2410

ответ

0
  1. Для отображения изображения используйте JLabel. Нет необходимости делать обычную картину, когда вы рисуете изображение по его фактическому размеру.

  2. Метод setUndecorated(...) должен быть вызван перед упаковкой() и сделать рамку видимой.

Смежные вопросы