काम नहीं कर रहा है मैं खुद को जावा सिखाने के लिए एक हैंगमन गेम बना रहा हूं। मुझे फ्रेम के मुख्य भाग में मिला है।जावा हैंगमन गेम पेंटेंट()
this.add(new PaintSurface(), BorderLayout.CENTER);
मुझे मिल गया है:
private class PaintSurface extends JComponent {
Shape found = null;
public PaintSurface(){
JOptionPane.showMessageDialog(null, "Repainting");
Shape s;
msgbox("LL: " + intLivesLost);
switch(intLivesLost){
//draw the Hanged man
case 10:
//Face + KILL
case 9:
//2nd Arm
case 8:
//1st Arm
case 7:
//2nd Leg
case 6:
//1st Leg
case 5:
//Body
case 4:
//Head
shapes.add(s);
case 3:
//Horizontal Bar
s = new Line2D.Float(100, 450, 250, 450);
shapes.add(s);
//Rope
s = new Line2D.Float(250, 450, 250, 500);
shapes.add(s);
case 2:
//Vertical Bar
s = new Line2D.Float(100, 450, 100, 670);
shapes.add(s);
case 1:
//Stand
s = new Line2D.Float(40, 670, 460, 670);
shapes.add(s);
break;
default:
break;
}
}
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D)g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2.setStroke(new BasicStroke(4));
g2.setColor(Color.BLACK);
for (Shape count : shapes){
g2.draw(count);
}
}
}
और मैं उपयोग कर रहा हूँ:
repaint();
... परियोजना के दौरान प्रत्येक समय सीमा अद्यतन किया जाता है, नए पत्र अनुमान लगाया, गलत अनुमान, नया खेल।
जब एप्लिकेशन पहले जॉप्शनपेन चलाता है। शो मैसेज डियालॉग (शून्य, "पुनर्भुगतान"); पॉप अप, तो मुझे पता है कि इसे तब कहा जाता है। उसके बाद, "पुनर्भुगतान" पॉप अप अब और प्रकट नहीं होता है, इसलिए मुझे पता है कि पश्चाताप(); कॉल कुछ भी नहीं कर रहे हैं। मुझे पता है कि कोड repaint() के लिए हो रहा है; कॉल, जैसा कि मैंने पहले और बाद में एक जॉप्शनपेन.शोमेसेज डायलॉग लगाया था।
मैं कोई भाग्य के साथ की कोशिश की है:
removeAll();
पुनरीक्षण();
getContentPane()। Repaint();
इसके लिए किसी भी संकेत और सुझावों की बहुत सराहना की जाएगी।
संपादित करें: मैंने इसे "पेंट" में कोड डालने की सलाह दी है, ऐसा लगता है कि यह पहले से था, और यह अभी भी काम नहीं कर रहा है। हालांकि धन्यवाद।
"सार्वजनिक पेंटसुरफेस() {...}" पेंटसुरफेस वर्ग का निर्माता है। यह केवल तब कहा जाता है जब पेंटसुरफेस "नया पेंटसुरफेस()" के साथ बनाया जाता है। आकार वस्तु बनाने के लिए आपका तर्क कहीं और जगह होना चाहिए (शायद पेंट विधि, लेकिन मुझे यकीन नहीं है कि यह एक जवाब नहीं है;)) –