السلام عليكم احبائي //
إخواني الكرام .. اريد ان اجعل هناك تزامن , بحيث لا يتم تنفيذ الكود إلا بعد ان يقوم المستخدم بالضغط على Enter كالتالي :
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Simple extends JFrame/* implements Runnable*/{
JTextArea jt;
boolean isNotFinish = false;
int x = 0;
public Simple()
{
jt = new JTextArea(50,50);
this.add(jt);
setSize(400,400);
setVisible(true);
exe();
}
public void exe()
{
while(x < 10){
jt.append("=============START=============\n");
jt.addKeyListener
(
new KeyListener()
{
public void keyPressed(KeyEvent event){}
public void keyReleased(KeyEvent event){
if( event.getKeyCode() == KeyEvent.VK_ENTER ){
jt.append("Company of GIFFAI 2007 . \n");
}
}
public void keyTyped( KeyEvent event ){}
}
);
jt.append("=============END=============\n");
x++;
}
// Thread t = new Thread(this);
// t.start();
}
public static void main(String[]args)
{Simple s = new Simple();}}
الفكرة في هذا الكود مفترض ان تتم بالشكل و الترتيب التالي //
1- في البداية يقوم البرنامج بطباعة الجملة التالية على الشاشة :
jt.append("=============START=============\n");2- المشكلة تكمن هنا ... حيث اني اريد الان ان يقوم المستخدم بالضغط على Enter , وبعدها يتم طباعة الجملة التالية :
jt.append("Company of GIFFAI 2007 . \n");3- بعد ذلك يتم طباعة الجملة التالية :
jt.append("=============END=============\n");4- ان يتم تكرار العملية .
لكن للأسف لا يتم ماسبق .. و ذلك بسبب ان تنفيذ البرنامج لا ينتظر ان يقوم المسخدم بالضغط على Enter , و لذلك اريد ان يكون هنا تزامن في هذه العملية .
بحيث لا يتم تنفيذ باقي الجمل , إلا بعد ان يتم الضغط على Enter من قبل المستخدم ...