2012-07-10 6 views
21

के साथ जेटीक्स्टफिल्ड मुद्दे हाल ही में मैंने जावा जेटेक्स्टफिल्ड के साथ एक अजीब समस्या में भाग लिया है। जब मैं निम्न कोड चलाता हूं (नीचे देखें), टेक्स्ट फ़ील्ड में "0" टाइप करना पहले पेस्ट एक्शन भेजता है, फिर "0" टाइप करता है। उदाहरण के लिए, यदि क्लिपबोर्ड पर "टेक्स्ट" की प्रतिलिपि बनाई गई है, तो "text0" टाइप किया गया है जब मैं "0" टाइप करता हूं। इसी प्रकार, "4" टाइप करना पिछले चरित्र को "4" के साथ बदल देता है (मुझे लगता है कि यह एक डिलीट एक्शन है, फिर "4" टाइप किया गया है)। "7" टाइप करने से पहले "7" टाइपिंग टेक्स्ट फ़ील्ड को साफ़ करता है।एनएपीएड

यहाँ कोड है:

import javax.swing.JFrame; 
import javax.swing.JTextField; 

public class Main { 

public static void main(String[] args) { 
    JFrame frame = new JFrame(); 
    JTextField text = new JTextField(); 
    frame.add(text); 
    frame.setSize(500, 500); 
    frame.setVisible(true); 
} 

} 

समस्या रेड हैट लिनक्स (Windows XP से VNC का उपयोग करके एक्सेस) पर हो रहा है; विंडो एक्सपी पर सबकुछ अपेक्षित है।

अद्यतन: उबंटू पर कार्यक्रम के साथ कोई समस्या नहीं है। मैंने अलग-अलग कीबोर्ड और वीएनसी दर्शक का उपयोग करने का भी प्रयास किया है।

अद्यतन 2: जावा संस्करण

रेड हैट के लिए:

java version "1.6.0_17" 
    OpenJDK Runtime Environment (IcedTea6 1.7.7) (rhel-1.17.b17.el5-x86_64) 
    OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode) 

XP के लिए:

java version "1.7.0_05" 
    Java(TM) SE Runtime Environment (build 1.7.0_05-b05) 
    Java HotSpot(TM) Client VM (build 23.1-b03, mixed mode, sharing) 

अद्यतन 3: की कोशिश की तीन अलग-अलग रेड हैट पर कार्यक्रम चलाने मशीनें (सभी काम पर एक ही समूह में), और इसके अतिरिक्त इसे एक अलग एक्सपी सह से चलाने की कोशिश की एमपीटर और पुनरारंभ करना।

अपडेट 4: आज मैं यह जानने के लिए काम पर पहुंचा कि समस्या जादुई रूप से चली गई है। हालांकि, क्यों जानना वाकई अच्छा लगेगा यह पहली जगह क्यों हुआ ताकि मैं (और कोई और जो इस अजीब मुद्दे का सामना कर सके) जानते हैं कि भविष्य में इसे कैसे ठीक किया जाए।

+0

अजीब ... लगता है जैसे कि यह एक कुंजीपटल नक्शे की समस्या हो सकती है? बेवकूफ मुझे पता है, लेकिन क्या आपने सुनिश्चित किया है कि numpad लॉक चालू है और अन्य लाल टोपी अनुप्रयोगों में अपेक्षित काम करता है? – bcr

+0

नम्पैड लॉक चालू है, और अन्य प्रोग्रामों में टाइप करते समय सब कुछ ठीक काम करता है। मैंने एक अलग कीबोर्ड का उपयोग करने की भी कोशिश की - कोई किस्मत नहीं। – lrAndroid

+0

यहां कुछ मिला: http://www.rvdavid.net/how-to-get-the-use-of-your-number-pad-back-in-ubuntu/ यह निश्चित रूप से उबंटू है, लेकिन यह हो सकता है आपके मामले में कुछ ऐसा ही है? – vaisakh

उत्तर

-2

टर्मिनल, सुविधाओं के तहत "एप्लिकेशन कीपैड मोड अक्षम करें" की जांच करें।

+0

मुझे लगता है कि पुटी में ऐसा करने का मतलब है? कोई भाग्य नहीं। – lrAndroid

+0

"टर्मिनल, फीचर्स"? तुम्हारी किस बारे में बोलने की इच्छा थी? – WhyNotHugo

0

यह वीएनसी के साथ एक ज्ञात मुद्दा प्रतीत होता है। आधिकारिक वीएनसी वेबसाइट के मुताबिक:

न्यू लॉक कुंजी सिंक से बाहर हो सकती है। डिस्कनेक्ट करें, क्लाइंट कंप्यूटर की न्यू लॉक कुंजी को एक बार दबाएं, और उसके बाद पुनः कनेक्ट करें।

स्रोत: http://www.realvnc.com/products/viewerplus/known-issues/

यह भी VNC के पूछे जाने वाले प्रश्न में दिखाई देता है:

प्र कुंजीपटल काम नहीं करता है/कुंजी अजीब बातें करते हैं!

एक आम समस्या है जो इसका कारण बन सकती है। यदि एक संशोधक कुंजी, जैसे Shift, Ctrl या Alt दबाया जाता है, और दर्शक विंडो तब फोकस या मर जाती है, तो 'कुंजी रिलीज' संदेश दर्शक को कभी नहीं मिलता है और इसलिए रिमोट सर्वर पर कभी नहीं मिलता है। रिमोट मशीन तब सोचती है कि एम Ctrl-M है। हमने इस घटना के मौके को कम करने के लिए विभिन्न चीजें की हैं; दर्शकों को फोकस खोने पर स्वचालित रूप से विभिन्न संशोधक जारी करते हैं, उदाहरण के लिए, लेकिन यह अभी भी हो सकता है और जब यह करता है तो भ्रमित हो सकता है। समाधान आसान है: बस फिसल गया है कि संशोधक कुंजी दबाएं और छोड़ दें। यदि आप नहीं जानते कि यह कौन सा है, तो उन्हें एक समय में आज़माएं।

स्रोत: इस जानकारी आपकी समस्या का संकेत है http://www-hep.nhn.ou.edu/d0/software/vnc-3.3.2r2/faq.html

है, तो यह हो सकता है कि जब समस्या "जादुई गायब हो गया," अंक पैड बस सिंक में VNC के साथ उस दिन और से बाहर था दूसरों पर सिंक करें (जिसका मतलब है कि मुद्दा फिर से फसल हो सकता है)।

+0

फिर, समस्या केवल जावा प्रोग्राम (ग्रहण के माध्यम से बनाई गई) के भीतर होती है, लेकिन किसी अन्य प्रोग्राम में नहीं होती है? इसके अतिरिक्त, समस्या केवल नमप कुंजी के साथ है, पूरे कीबोर्ड नहीं। इसके अलावा, क्या संशोधक कुंजी भी numpad पर पेस्ट करने के लिए "0" कुंजी का कारण बन सकता है? – lrAndroid

+0

तो जब आप अन्य अनुप्रयोगों में नम पैड का उपयोग करते हैं (वीएनसी के माध्यम से रेड हैट पर) यह ठीक उसी समय काम करता है जब यह जावा प्रोग्राम में खराब हो रहा है? – asteri

+0

सही। यह मुद्दा केवल मेरे जावा कार्यक्रमों के भीतर ही हो रहा था। – lrAndroid

1

अपने कोड की शुरुआत में इस कोड को डालने का प्रयास करें।

KeyboardFocusManager.setCurrentKeyboardFocusManager(new DefaultKeyboardFocusManager(){ 
    public boolean dispatchKeyEvent(KeyEvent e) { 
     if (e.getKeyLocation() == KeyEvent.KEY_LOCATION_NUMPAD){ 
      return true; 
     } 
     return super.dispatchKeyEvent(e); 
    } 
}); 
1

अच्छा जवाब देना मुश्किल है, लेकिन यह वास्तव में एक अजीब घटना नहीं है। आमतौर पर जब एक वीएनसी या रिमोट डेस्कटॉप साझाकरण होता है, तो एक मशीन के कीबोर्ड और माउस ईवेंट किसी अन्य मशीन पर प्रेषित होते हैं। जब यह मानचित्रण किया जाता है, तो एक उचित मौका हो सकता है कि विशेष रूप से क्लिपबोर्ड प्रतिलिपि, पेस्टिंग के साथ गलत व्यवहार हो सकता है। यह न केवल लिनक्स की दुनिया में बल्कि विंडोज़ दुनिया में भी होता है।

मैं इसे अपने अनुभव से बताता हूं। मेरे कार्यस्थल पर हम अक्सर अन्य मशीनों में rdc, कुछ चल रहे एक्सपी और कुछ चल रहे विंडोज 7। एक मशीन पर क्लिपबोर्ड प्रतिलिपि की कार्रवाई और रिमोट मशीन पर पेस्टिंग कुछ सिस्टम पर काम करता है और दूसरों पर विफल रहता है।

जावा और रिमोट डेस्कटॉप एक्सेस के साथ ऐसा एक और अनुभव उद्धृत करते हुए, मेरे पास मेरे ग्रहण पर एक जावा एप्लिकेशन चल रहा है। जब मैं कुछ अन्य मशीनों से अपनी मशीन में जाता हूं, तो मुझे लगता है कि ग्रहण एप्लिकेशन को लॉन्च करने में पूरी तरह असमर्थ है। इसके लिए काम करने के लिए, मुझे इसे अपने सिस्टम पर पहले लॉन्च करने की ज़रूरत है, एप्लिकेशन को चालू रखें और फिर एक दूसरे से मेरा डीसीसी रखें।

बस कल्पना करने के लिए, यदि Windows XP और Windows 7 के साथ यह मामला ज्ञात है जो एक ही परिवार के हैं। कोई केवल उम्मीद कर सकता है कि लिनक्स और विंडोज़ का उपयोग वीएनसी के साथ करते समय ऐसा कुछ नहीं हो सकता है :)

जैसा कि कहा गया है, यह क्यों हो रहा है के बारे में बहुत सटीक होना मुश्किल है लेकिन यह निश्चित रूप से कहा जा सकता है कि यह है पूरी तरह से ओएस स्तर पर ओएस स्तर पर होता है और स्विंग ढांचे के स्तर पर नहीं।

1

मुझे यकीन है कि नहीं हूँ, लेकिन मैं सिर्फ मदद करने की कोशिश में जवाब दे रहा हूँ:

IcedTea साथ मेरा अनुभव खराब है। मुझे बिल्कुल याद नहीं आया कि क्या हुआ, लेकिन फिर वापस आधिकारिक जावा जेआरई स्थापित करने से मेरी समस्याएं हल हुईं। आईडी है: ओरेकल द्वारा प्रदान की गई जेआरई।

http://java.com/en/download/index.jsp