2017-04-07 54 views
-3

我不知道如何實現一個圖片到我的框架。我如何在我的Java框架中實現一張圖片

我不使用佈局管理器,而是使用絕對定位。

我從互聯網上得到了這段代碼,所以我沒有真正瞭解部分 ,但iam仍然在學習它。

也許你們有些人可以幫助我。提前致謝。

import java.awt.Container; 
import java.awt.Insects; 
import java.awt.Dimension; 
import javax.swing.JButton; 
import javax.swing.JFrame; 

public class sssaa { 

    public static void addComponentsToPane(Container pane) { 

    pane.setLayout(null); 

    // Buttons 

    JButton Burger = new JButton("Burger"); 
    Burger.setFocusPainted(false); 
    JButton Beilagen = new JButton("Beilagen"); 
    Beilagen.setFocusPainted(false); 
    JButton Salate = new JButton("Salate"); 
    Salate.setFocusPainted(false); 
    JButton Specials = new JButton("Specials"); 
    Specials.setFocusPainted(false); 
    JButton Tagesgericht = new JButton("Tagesgericht"); 
    Tagesgericht.setFocusPainted(false); 
    JButton Aktionsangebot = new JButton("Aktionsangebot"); 
    Aktionsangebot.setFocusPainted(false); 
    JButton Getränke = new JButton("Getränke"); 
    Getränke.setFocusPainted(false); 



    pane.add(Burger); 
    pane.add(Beilagen); 
    pane.add(Salate); 
    pane.add(Specials); 
    pane.add(Tagesgericht); 
    pane.add(Aktionsangebot); 
    pane.add(Getränke); 

    //absolute positioning 

    Insets insets = pane.getInsets(); 
    Dimension size = Burger.getPreferredSize(); 
    Burger.setBounds(20 + insets.left, 50 + insets.top, 
       size.width + 100, size.height + 50); 
    size = Beilagen.getPreferredSize(); 
    Beilagen.setBounds(20 + insets.left, 130 + insets.top, 
       size.width + 90, size.height + 50); 
    size = Salate.getPreferredSize(); 
    Salate.setBounds(20 + insets.left, 210 + insets.top, 
       size.width + 103, size.height + 50); 
    size = Burger.getPreferredSize(); 
    Specials.setBounds(20 + insets.left, 290 + insets.top, 
       size.width + 100, size.height + 50); 
    size = Beilagen.getPreferredSize(); 
    Tagesgericht.setBounds(20 + insets.left, 370 + insets.top, 
       size.width + 90, size.height + 50); 
    size = Salate.getPreferredSize(); 
    Aktionsangebot.setBounds(20 + insets.left, 450 + insets.top, 
       size.width + 103, size.height + 50); 
    size = Salate.getPreferredSize(); 
    Getränke.setBounds(20 + insets.left, 530 + insets.top, 
       size.width + 103, size.height + 50); 


    } 

    private static void createAndShowGUI() { 
    //Create and set up the window. 
    JFrame frame = new JFrame("AbsoluteLayoutDemo"); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  


    //Set up the content pane. 
    addComponentsToPane(frame.getContentPane()); 

    //Size and display the window. 
    Insets insets = frame.getInsets(); 
    frame.setSize(1200 + insets.left + insets.right, 
        900 + insets.top + insets.bottom); 
    frame.setVisible(true); 
    } 

    public static void main(String[] args) { 
    //Schedule a job for the event-dispatching thread: 
    //creating and showing this application's GUI. 

    javax.swing.SwingUtilities.invokeLater(new Runnable() { 
     public void run() { 
      createAndShowGUI(); 
     } 
    }); 
    }   
} 

回答

0

使用JPanel,您將有位置來呈現您的圖像。

JImageComponent myImage = new JImageComponent(insertYourImageHere); 

imagePanel.add(myImage); 

您還可以使用JLabel來存儲圖像。

frame.add(new JLabel(new ImageIcon("Path to your image"))); 
+0

我需要JPanel庫房爲我猜。 放哪裏?我需要添加一些東西,這樣JImageComponent的作品? – Jennifer96

+0

@ Jennifer96你可以'import javax.swing。*;' –

+0

感謝您的答案,但不知何故我無法得到它的工作。 :( – Jennifer96

相關問題