2013-07-29 69 views
-2

我可以创建窗口对象而不是框架吗?我的意思是当我用现有的框架创建窗口对象并显示它没有任何反应时。我可以使用现有框架创建窗口对象吗

Frame frame=new Frame(); Window window=new Window(frame); window.show(); // nothing happens here

+2

你的代码在哪里?这个问题并不清楚,你可以付出更多努力并多解释一下吗? – Maroun

回答

2

你必须通过调用.setVisible(true)显示框,你可以这样做:

JFrame frame = new JFrame("Title of the Frame"); 
frame.setVisible(true); 

如果你只是想在里面的东西一个窗口,你应该使用的JFrame。以下示例将创建一个包含两个按钮的窗口。

import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JPanel; 

public class SSCCE { 
    public static void main(String[] args) { 
     JFrame frame = new JFrame("Title of the Frame"); 
     JPanel panel = new JPanel(); 

     JButton b1 = new JButton("Button 1"); 
     JButton b2 = new JButton("Button 2"); 

     panel.add(b1); 
     panel.add(b2); 
     frame.add(panel); 

     frame.pack(); 
     frame.setVisible(true); 
    } 
} 
+0

为什么我不能使用窗口而不是框架?他们之间有什么区别吗? – user2594479

+0

说实话,我不知道为什么。如果您在这里查看http://docs.oracle.com/javase/7/docs/api/并单击JFrame,您可以看到它是Window的扩展,这基本上意味着它是一个添加了额外功能的窗口。从我学到的东西,几乎每个人在创建窗口时都使用JFrame。谷歌周围的一些,你会发现很多的例子!祝好运编码。 – Goatcat

相关问题