2010-09-27 205 views
0

我很确定我之前是这样做的,但由于某种原因,当我运行它时,JFrame不会显示出来。为什么我的JFrame没有显示?

JLabel originalString = new JLabel("Original String: " 
             + str.getMutator()); 
    JLabel currentString = new JLabel("Current String: " 
             + str.getMutator()); 
    JLabel finalString = new JLabel("Final String: " + str.getTarget()); 

    JPanel panel = new JPanel(); 
    panel.add(originalString); 
    panel.add(currentString); 
    panel.add(finalString); 

    JFrame frame = new JFrame("Mutating String!"); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.getContentPane().add(panel); 
    frame.pack(); 
    frame.setVisible(true); 
} 
+0

这段代码包含什么方法? – 2010-09-27 22:02:23

回答

3

你的问题一定是别的地方(被称为它抛出一个异常的方法?),因为你的代码工作(我评论的STR话费):

http://img217.imageshack.us/img217/902/screenvlg.png

import javax.swing.*; 
public class Test{ 
    public static void main(String... args){ 
     JLabel originalString = new JLabel("Original String: " /*+ str.getMutator()*/); 
     JLabel currentString = new JLabel("Current String: "/* + str.getMutator()*/); 
     JLabel finalString = new JLabel("Final String: " /* + str.getTarget()*/); 

     JPanel panel = new JPanel(); 
     panel.add(originalString); 
     panel.add(currentString); 
     panel.add(finalString); 

     JFrame frame = new JFrame("Mutating String!"); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.getContentPane().add(panel); 
     frame.pack(); 
     frame.setVisible(true); 
    } 
} 
+1

我发现了这个问题。我感到有点尴尬,我有一个扫描仪阅读用户输入,并忘记了它... – Dave 2010-09-27 22:14:08

+0

我们都曾经在那里,同志:)只是问一个问题的行为往往导致一个答案。 – 2010-09-28 02:01:01

+0

戴夫你能解释一下吗?扫描器读取输入与JFrame有什么关系?展示框架之前,您是否必须关闭扫描仪? – jimboweb 2018-02-20 16:49:40

3

尝试设置大小或检查组件的首选大小可能是因为您调用了pack()。

frame.setSize(x,y);

相关问题