ورود

View Full Version : سوال: یه سوال در مورد کد اسکی



Mr.Diako
یک شنبه 13 اسفند 1391, 11:30 صبح
سلام خدمت همه دوستان .
می خواستم از دوستان عزیز بپرسم که کد اسکی کلیدwinKey چنده!
و چطور توی کدنویسی (تو محیط Netbeans) یه شرط بذاریم که مثلا اگه کاربر کلید winKey رو فشار داد
پیغام Hello to Good Java Programmers رو نمایش بده ؟
البته من برنامه ای نوشتم که کدهای اسکی رو نمایش میده .
اما فکر کردم شاید برنامه ای لازم باشه که یه کلید رو از کاربر بخواد و اونو توی یه متغیر از نوع int قرار بده اما اینم واسه پیدا کردن کد اسکی کلید winKey موثر نبود...
از دوستان عزیز می خوام در حد امکان راهنماییم کنن تا مشکلم رفع بشه.
ممنون .

Hybrid
یک شنبه 13 اسفند 1391, 18:24 عصر
می خواستم از دوستان عزیز بپرسم که کد اسکی کلیدwinKey چنده!
WinKey کد اسکی نداره چون قابل چاپ نیست .

Mr.Diako
دوشنبه 14 اسفند 1391, 12:17 عصر
WinKey کد اسکی نداره چون قابل چاپ نیست .
ازشما متشکرم
اما ... بالاخره توسیستم یه جوری میشه بهش اشاره کرد. Java هم که تو کار با سیستم قویه
پس "باید" بشه که توی جاوا برای winkey برنامه نوشت .
سوال من اینه که چطور میشه این کار رو کرد ؟ (یعنی چه جوری بهش اشاره کنیم(البته منظورم اشاره گر و... این داستانای c و ++c نیست) منظورم اینه که چطور می شه براش کد نوشت؟)
مثلا چطوری میشه برنامه ای نوشت که اگه کاربر کلید winkey رو زد یه پیغام چاپ کنه ؟

Hybrid
پنج شنبه 17 اسفند 1391, 18:36 عصر
پس "باید" بشه که توی جاوا برای winkey برنامه نوشت .
سوال من اینه که چطور میشه این کار رو کرد ؟ (یعنی چه جوری بهش اشاره کنیم(البته منظورم اشاره گر و... این داستانای c و ++c نیست) منظورم اینه که چطور می شه براش کد نوشت؟)
مثلا چطوری میشه برنامه ای نوشت که اگه کاربر کلید winkey رو زد یه پیغام چاپ کنه ؟
بله میشه ؛ شما باید از Virtual Key Code ها که در کلاس KeyEvent تعریف شدن استفاده کنید . به این مثال دقت کنید .


package mainPackage;

import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;



public class AppletSkel extends Applet implements KeyListener{

private String msg = "";
int mouseX =10 , mouseY = 10;//coordinates of mouse

@Override
public void init(){//when Applet started this method is the first method called
super.setBackground(Color.magenta);
super.setForeground(Color.white);

super.addKeyListener(this);
super.requestFocus();
}


@Override
public void paint(Graphics g){
g.drawString(this.msg, this.mouseX, this.mouseY);
}

@Override
public void keyPressed(KeyEvent arg0) {
super.showStatus("Key Down");
int key = arg0.getKeyCode();

switch(key){
case KeyEvent.VK_F1:
this.msg += "<F1>";
break;
case KeyEvent.VK_F2:
this.msg += "<F2>";
break;
case KeyEvent.VK_F3:
this.msg += "<F3>";
break;
case KeyEvent.VK_WINDOWS:
this.msg += "Window key pressed";
break;
}
super.repaint();
}

@Override
public void keyReleased(KeyEvent arg0) {
super.showStatus("Key UP");
}

@Override
public void keyTyped(KeyEvent arg0) {
this.msg += arg0.getKeyChar();
super.repaint();
}


}

** در کد بالا برای تشخیص اینکه کلید Windows فشار داده شده باید از ثابت VK_Windows استفاده کنید .

Mr.Diako
چهارشنبه 23 اسفند 1391, 11:12 صبح
واقعا ممنونم لطف کردید:بوس: