2013-12-19 225 views
-1

以下给出我的代码当我运行主代码时,如何让paint applet打开?我认为扩展会做的伎俩,但没有出现。我无法让程序一次执行一个身体部分。我没有足够的时间,但至少我希望它在执行主体后立即显示hang子手的绘画。JApplet无法打开控制台程序

import java.awt.Graphics; 
import java.util.Scanner; 

import javax.swing.JApplet; 


public class HangmanLogic extends HangmanGuy { 

    public static void main(String[] args) { 

     int count = 0; 
     Scanner in = new Scanner(System.in); 
     System.out.println("Enter a 4 or 5 letter word and the computer will play hangman against you!"); 



     String word = in.nextLine(); 


     char[] letter = word.toCharArray(); 


     for (int i = 0; i < letter.length; i++) { 
       letter[i] = 'a'; 
     } 


     for (int i = 0; i < word.length(); i++){ 
      for (int j = 48; j < 122; j++) { 
          count++; 
         if (letter[i] == word.charAt(i)) { 
           break; 
         } else { 
           letter[i] = (char)((int) j + 1); 

         } 
       } 
     } 
     System.out.println("Attempt to solve: " + count); 
     System.out.println("Your word is: "); 

     for (char letters : letter) { 
       System.out.print(letters); 

     } 
     } 
    } 

import java.awt.Graphics; 
import javax.swing.JApplet; 
import java.awt.*; 


public class HangmanGuy extends JApplet 
{ 
    public void paint (Graphics Page) 
    { 
       //gallows 
       Page.drawLine(0,300,20,300); 
       Page.drawLine(10,40,10,300); 
       Page.drawLine(10,40,80,40); 
       Page.drawLine(80,40,80,55); 

       //torso 
       Page.drawOval(50,55,50,55); 
       Page.drawOval(50,100,50,100); 
       //left arm and hand 
       Page.drawLine(50,150,40,110); 
       Page.drawLine(40,110, 45,100); 
       Page.drawLine(40,110, 25,100); 
       Page.drawLine(40,110, 25,115); 


       //right arm and hand 
       Page.drawLine(100,150,120,110); 
       Page.drawLine(120,110, 115,95); 
       Page.drawLine(120,110, 125,95); 
       Page.drawLine(120,110, 135,115); 

       //left leg and foot 
       Page.drawLine(80,200,100,250); 
       Page.drawLine(100,250, 115,260); 


       //right leg and foot 
       Page.drawLine(75,200,60,250); 
       Page.drawLine(60,250,45,260); 

    } 

} 
+0

您错误地使用了继承。这不是它如何工作,或者你应该如何尝试它的工作。当你知道一个新的类将满足“是 - 一个”关系,而你不知道的时候,你只能使用继承。另外,从浏览器打开小程序。 –

+0

这是您第二次尝试此操作,尽管之前建议您不要混用控制台和GUI概念。 – MadProgrammer

+0

为什么要麻烦提出建议,如果他只是忽略它们。 –

回答

1

两件事。

  1. 为什么要这样。没有什么是控制它。小程序将被浏览器加载和控制;
  2. 为什么混合GUI和控制台范例?来自GUI的用户输入假设来自UI组件和控件,而不是命令行。

首先看看Creating a GUI With JFC/Swing

我建议您将UI移到JFrame,直到您了解如何构建UI的基础知识,因为applet带来了自己的问题,如果您尚未拥有UI的某些背景作品。

其实。从JPanel开始,当您准备好时,将其添加到JFrame的实例中。如果可行,您可以尝试将该面板添加到JApplet

相关问题