2013-01-01 40 views
-2

代碼1:相同的邏輯,但有不同的結果與JOptionPane中和的JFrame

public static JFrame frame = null;  
public myClass(JFrame frame1) 
{ 
    initComponents(); 
    frame = frame1; 
    String result = JOptionPane.showInternalInputDialog(
     frame.getContentPane(), "Sample"); 
} 

代碼2:

public static JFrame frame = null; 
public myClass(JFrame frame1) 
{ 
    initComponents(); 
    frame = frame1; 
    sampleMethod(); 
} 

public static void sampleMethod() 
{ 
    String result = JOptionPane.showInternalInputDialog(
     frame.getContentPane(), "Sample"); 
} 

我想要的結果代碼1,但代碼必須看起來像代碼2.爲什麼他們有不同的結果嗎?

+2

你是什麼意思*「不同的結果」*? – Aaron

回答

6

如果兩段代碼都是相關的,那麼結果就不可能是不同的。 因此,這意味着您提供的代碼不夠完整您沒有說清楚「不同結果」是什麼意思。

而我的猜測是,你正在同時創建myClass的多個實例?我會建議嘗試這個:(沒有所有static

public JFrame frame = null; // static removed 
public myClass(JFrame frame1) 
{ 
    initComponents(); 
    frame = frame1; 
    sampleMethod(); 
} 

public void sampleMethod() // static removed 
{ 
    String result = JOptionPane.showInternalInputDialog(
     frame.getContentPane(), "Sample"); 
} 
相關問題