2014-10-17 3 views
0

Класс краски с приветствием - это то, что я хотел бы использовать с основными переменными. Как бы это сделать? Я хотел бы переместить переменные, чтобы я мог сделать условие для рисования строк, когда правильная или неправильная буква угадывает.Как я могу позволить основному методу доступа к методу paint, который я создал внутри Applet?

import static java.lang.System.*; 
import javax.swing.*; 
import java.util.*; 
import java.io.*; 
import java.awt.*; 
import java.applet.*; 
import static java.lang.System.*; 
public class testing extends Applet 
{ 


    public static void main(String[]args)throws IOException 
    { 
     JFrame jp1 = new JFrame(); 
     testing a =new testing(); 
     jp1.getContentPane().add(a, BorderLayout.CENTER); 
     jp1.setSize(new Dimension(500,500)); 
     jp1.setVisible(false); 

     Random random = new Random(); 
     Scanner scanner = new Scanner(new File("C:\\Users\\s612153\\Documents\\Java files\\words.data")); 
     ArrayList <String> arraylist = new ArrayList<String>(); 
     ArrayList <String> arrayinco = new ArrayList<String>(); 
     ArrayList <String> arraycorr = new ArrayList<String>(); 
     int c = scanner.nextInt(); 
     int variable = random.nextInt(c) + 1; 

     for(int x = 0; x < c; x++) 
     { 
      String string = scanner.next(); 
      arraylist.add(string); 
     } 

     String word = arraylist.get(variable); 
     word = word.toUpperCase(); 
     out.println(word); 
     int length = word.length(); 
     ArrayList <String> arrayundr = new ArrayList<String>(); 

     for(int x = 0; x < length; x++) 
     { 
      arrayundr.add("_ "); 
     } 

     out.println(arrayundr); 


     int attempts = 7; 
     int var = 0; 


     for(int x = var; x < attempts; x = x) 
     { 
      String guess = JOptionPane.showInputDialog("Enter a letter: "); 
     char Char = guess.charAt(0); 
     Char = Character.toUpperCase(Char); 
      if(word.indexOf(Char) >= 0) 
      { 
       String let = Character.toString(Char); 
       int gerb = word.indexOf(Char); 
       int kirby = word.indexOf(Char, gerb + 1); 
       out.println("That is correct"); 
       arraycorr.add(let); 
       arrayundr.set(gerb, let); 
       out.println("WORD: " + arrayundr); 
       attempts = attempts + 1; 

      } 
      else if(word.indexOf(Char) != 0) 
      { 
       String bet = Character.toString(Char); 
       out.println("incorrect!"); 
       arrayinco.add(bet); 
       x = x + 1; 
      } 

     } 




     out.println(arrayinco); 
    } 

Класс краски, в который я хотел бы использовать основные переменные!

 public void paint (Graphics g) 
    { 

     g.drawString("hello",40,30); 
    } 
} 

ответ

0

Лучший подход, чтобы сделать строковое свойство класса тестирования, которые затем могут быть установлены с помощью ручки вы имеете на апплета и т.д .:

public class testing extends Applet { 
    private String message = ""; 

    public static void main(String[]args)throws IOException 
    { 
     JFrame jp1 = new JFrame(); 
     testing a =new testing(); 
     // .. 
     a.message = "Hello"; 
     // .. 
    } 

    public void paint (Graphics g) { 
     g.drawString(message,40,30); 
    } 
} 
Смежные вопросы