2013-08-04 1 views
0

Im возникли некоторые вопросы, получать копирования и вставки из методов JTextComponent работыосуществляет операции копирования/вставки в Java

для моей программы у меня есть массив строк, которые будут выбор меню. «Копировать» и «Вставить» - два из них.

else if (e.getActionCommand().equalsIgnoreCase("Copy")) 
      { 
       JTextArea a = new JTextArea(); 
       a.setEditable(true); 
       a.copy(); 
      } 
      else if (e.getActionCommand().equalsIgnoreCase("Paste")) 
      { 
       JTextArea a = new JTextArea(); 
       a.setEditable(true); 
       a.getSelectedText(); 
       a.paste(); 
      } 

im получение сообщений об ошибках, но не работает. любая помощь будет оценена

ответ

0

Вы объявляя локальный объект, область действия ограничена только в если условие:

  else if (e.getActionCommand().equalsIgnoreCase("Copy")) 
      { 
       JTextArea a = new JTextArea(); // CREATING A NEW OBJECT 
       a.setEditable(true); 
       a.copy(); 
      }    // AS Soon as the code comes HERE THE Instance IS LOST with the data 

Объявить;

JTextArea a = new JTextArea(); outside the if condition, maybe in the class before main(){} 
Create an private instance variable of the same. 

Надеюсь, это поможет. Дайте знать, если у вас появятся вопросы.

class TEST{ 
     public JTextArea a = new JTextArea(); 

      TEST objectOfTEST = new TEST(): 
      publis static String someText = ""; 

     public static void main(String[] args){ 

       if(e.getActionCommand().equalsIgnoreCase("Copy")){ 
        someText = objectOfTEST.a.getText(); 
       } 
       else if(e.getActionCommand().equalsIgnoreCase("Paste")){ 
        // PERFORM SOME OPERATION 
        someText = "Paste this"; 
        objectOfTEST.a.setText("Some TEXT that you want to set here"); 
       } 
     } 
} 
+0

Я создал переменную экземпляра JTextArea, а также указал JtextArea a = new JTextArea(); за пределами оператора if, но теперь у меня есть некоторые проблемы с выяснением, какую операцию выполнять внутри esle ifs .... – HologramWolf

+0

Что вы имеете в виду под трудом? – JNL

+0

Я отредактировал ответ. Надеюсь это поможет. Дайте мне знать, если у вас есть вопросы или ответ вам поможет. – JNL

1

Вы создаете новый экземпляр JTextArea каждый раз, когда хотите выполнить действие.

Это не будет отображаться на экране. Вместо этого, взаимодействовать с переменной экземпляра или передать экземпляр JTextArea, который находится на экране в качестве параметра

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

  • Нет связанных вопросов^_^