मेरे पास एक ही पैकेज में दो कक्षाएं हैं। मैंने एक वर्ग में static variable
घोषित कर दिया है और उस चर को किसी अन्य श्रेणी में एक्सेस करना चाहते हैं।किसी अन्य वर्ग से स्थिर स्थिर चर
यहाँ मेरी कोड है, जिसमें मैं स्थिर चर
public class wampusGUI extends javax.swing.JFrame {
static String userCommand;
public wampusGUI() {
initComponents();
}
public void setTextArea(String text) {
displayTextArea.append(text);
}
private void enterButtonActionPerformed(java.awt.event.ActionEvent evt) {
userCommand = commandText.getText();
}
public static void main(String args[]) {
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
wampusGUI w = new wampusGUI();
w.setVisible(true);
Game g = new Game(w);
g.play();
}
});
}
}
यहाँ घोषणा की है कोड, जिसमें मैं चर का उपयोग करने के
public class Game {
private wampusGUI gui;
public Game(wampusGUI w) {
world = new World();
world.start();
gui = w;
}
public void play() {
gui.setTextArea(welcome());
gui.setTextArea(describe());
for (;;) {
String s = userCommand; // here value should come should
System.out.println(userCommand);
Command c = Command.create(s);
String r = c.perform(world);
// is game over?
if (r == null) {
break;
}
System.out.println(r);
}
System.out.println("Game over");
}
}
हालांकि चाहते है, मैं पहले से चर पारित कर सकते हैं एक तर्क के रूप में वर्ग। लेकिन समस्या यह है कि, जब मैं प्रोग्राम चलाऊंगा तो मूल्य पहली बार शून्य हो रहा है, जिसे मैं नहीं चाहता हूं। मैं चाहता हूं कि जब मैं textfield
में मान दर्ज करता हूं तो इसे किसी अन्य वर्ग में जाना चाहिए।
धन्यवाद।
"मूल्य पहली बार शून्य हो रहा है" का क्या मतलब है? असल में आपको अपना डिज़ाइन बदलना चाहिए - एक वैश्विक चर होना वास्तव में * अच्छा * नहीं है। –
मैं @jon से सहमत हूं। जब तक उपयोगकर्ता को इसे बदलने का मौका नहीं मिलता तब तक आपकी स्ट्रिंग का सभ्य मूल्य नहीं होगा। लूप के लिए भी हमेशा के लिए एक स्विंग आवेदन के लिए एक अच्छा डिजाइन नहीं है। मैं सोच रहा हूं कि क्या आप वास्तव में उपयोगकर्ता के जेटीक्स्टफिल्ड के राज्य को बदलने और फिर इस पर अभिनय करने के लिए सुनने के लिए श्रोता का उपयोग करना चाहते हैं। शायद आप एक स्विंग टाइमर का उपयोग करना भी चाहेंगे, हालांकि यह जानना मुश्किल है कि जब तक हम आपके कार्यक्रम के बारे में अधिक नहीं जानते हैं और यह क्या करना है। –
कृपया हमें बताएं: आप इस कोड के साथ क्या करने की कोशिश कर रहे हैं? –