2015-02-13 3 views
0

Я пытаюсь создать апплет, который отвечает на щелчок мыши, а затем рисует квадрат на экране и сохраняет координаты мыши в строке. Наконец, если я нажму клавишу «S», он сохранит строку в файле с именем « Level1.txt». Но когда я запускаю этот апплет и нажимаю S, ничего не сохраняется в файле. Я не причина. Пожалуйста, помогите. Вот мой код: -Как написать текстовый файл с помощью апплета в java?

import java.io.*; 
import java.awt.event.*; 
import java.applet.*; 
import java.awt.*; 
public class levelEditor extends Applet{ 
int x,y; 
boolean clicked; 
FileWriter fw; 
PrintWriter pw; 
BufferedWriter bw; 
String pix; 
    public void init() { 
     setSize(500,500); 
     x=0; 
     y=0; 
     pix=""; 

     clicked=false; 
     addMouseListener(new MouseAdapter() { 
      public void mouseReleased(MouseEvent e){ 
       clicked=true; 
       x=e.getX(); 
       y=e.getY(); 
       pix=pix+x+","+y+" "; 
       repaint(); 
      } 
     }); 
     addKeyListener(new KeyAdapter() { 
      public void keyPressed(KeyEvent e){ 
       try{ 
        if(e.getKeyCode()==KeyEvent.VK_S){ 
         fw=new FileWriter("Level1.txt"); 
         bw=new BufferedWriter(fw); 
         pw=new PrintWriter(bw); 
         pw.println(pix); 
         pw.close(); 
         System.exit(0); 
        } 
        } 
        catch(Exception exp) 
        { 

        } 
      } 
     }); 

    } 
    public void paint(Graphics g){ 
     update(g); 
    } 
public void update(Graphics g){ 
    if(clicked){ 
    g.setColor(Color.GREEN); 
    g.fillRect(x-5, y-5,10,10); 

    } 
} 
} 
+0

У вас есть такие вещи, как «написать файл из java-апплета»? Также: http://stackoverflow.com/questions/17388523/how-to-write-to-a-file-in-applets-in-java?rq=1 – reto

+0

да, но у меня нет правильного ответа – Gunjan

+0

1) Зачем программировать апплет? Если это связано с тем, что учитель указал на это, обратитесь к [Почему учителя CS должны ** останавливаться ** преподавать Java-апплеты] (http://programmers.blogoverflow.com/2013/05/why-cs-teachers-should -stop-учебно-ява-апплеты /). 2) Зачем использовать AWT? См. [Этот ответ] (http://stackoverflow.com/questions/6255106/java-gui-listeners-without-awt/6255978#6255978) по многим причинам, чтобы отказаться от использования AWT с использованием компонентов в пользу Swing. 3) Используйте логическую и согласованную форму отступов и блоков кода. Отступы предназначены для того, чтобы поток кода стал проще следовать! –

ответ

0

Вам нужен подписанный апплет для доступа к локальной файловой системе. См. Документы Oracle: What Applets Can and Cannot do.

+0

* «Смотрите документы Oracle: какие апплеты могут и не могут делать». * Из этого документа. * «Апплеты, которые не подписаны, ограничены изолированной программной безопасностью и выполняются только в том случае, если пользователь принимает апплет». * Ну, на самом деле, нет. В эти дни апплет без знака не будет отображаться на экране. Это делает остальную часть документа в значительной степени избыточной, поскольку когда код ** имеет цифровую подпись **, это всего лишь вопрос определения правильных уровней безопасности в манифесте и JNLP, и апплет может делать все, что ему нужно. –

Смежные вопросы