2011-04-13 160 views
0

這是從主框架窗口我的代碼:問題加載圖像

public class DynamicalSystem { 


    public static void createAndShowGraphic() { 


    //Create and set up the window. 
    JFrame frame = new JFrame("Dynamical System: The beauty of Chaos"); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    JLabel emptyLabel = new JLabel(""); 
    emptyLabel.setPreferredSize(new Dimension(500, 500)); 
    frame.getContentPane().add(emptyLabel, BorderLayout.CENTER); 




    //Display the window. 

    MenuLook menubar = new MenuLook(); //display menubar 
    frame.setJMenuBar(menubar.createMenuBar()); 

    frame.pack(); 
    frame.setVisible(true); 




} 
} 

,這是從我的bufferdimage:

public class LabelDemo extends JPanel 
{ 
//path of image 
private String path; 

//image object 
private Image img; 

public LabelDemo(String path) throws IOException 
{ 
//save path 
this.path = path; 

//load image 
img = ImageIO.read(new File(path)); 

} 

//override paint method of panel 
public void paint(Graphics g) 
{ 
//draw the image 
if(img != null) 
g.drawImage(img,0,0, this); 
} 

} 
//class image frame periexei tin methodo createloadimage i opoia pernei 
//to path apo ton filechooser kai kanei load tin eikona 

class ImageFrame{ 

    public static void createLoadImage(){ 

     try 
    { 

     //create frame 
     JFrame f = new JFrame(); 

     //ask for image file 
     JFileChooser chooser = new JFileChooser(); 
     chooser.showOpenDialog(f); 

     //create panel with selected file 
     LabelDemo panel = new LabelDemo(chooser.getSelectedFile().getPath()); 

     //add panel to pane 
     f.getContentPane().add(panel); 


     //show frame 
     f.setBounds(0,0,800,800); 
     f.setVisible(true); 
    } 
     catch(Exception e) 
     { 
     System.out.println ("Den dialeksate eikona!"); 
     } 
    } 
} 

我想要的形象在我的主開窗戶不在一個新的。我如何做到這一點?

+1

你的Shift鍵似乎壞了。至少在你輸入標題時。 – 2011-04-13 16:39:55

+0

你是什麼意思,我怎麼修復它 – MoglisSs 2011-04-13 16:52:19

+0

@user:我只是在開玩笑說你寫了所有大寫字母的標題。這被廣泛接受爲互聯網版本的吶喊,這不是很禮貌。 – 2011-04-13 16:55:40

回答

1

也許我錯過了一些東西,但它看起來像沒有任何意義,你是不是真的把你的圖像放在主框架中,而你的問題似乎是DynamicalSystem。相反,它看起來像是在ImageFrame中創建一個新窗口並將圖像放在那裏。嘗試調用

LabelDemo panel = new LabelDemo(chooser.getSelectedFile().getPath());

從DynamicalSystem並把LabelDemo在該框架而不是IMAGEFRAME的。

+0

我試過了,但是我對選擇器有問題 – MoglisSs 2011-04-13 18:31:44

+0

什麼樣的問題? – 2011-04-14 19:25:01