How To Enabling Copy and Cut Operations on Java Disabled Field
I'm developing a software where client request all disabled text field should be allowed to do text selection, cut and copy operations. But now unable to proceed due to some issue faced. The input field that fit the requirements should be a read-only Text Field that able to do text selection and copy/cut through ctrl+c and when clicking on the Text Field it should not trigger any Focus/Action Listener.
Previously all disabled component is disabled through
component.setEnabled(boolean)
But in this way, all disabled fields are not able to do text selection, cut and copy operations. I had tried few ways to enable copy and cut operations but found out the component is not processing any key event in this state, its seem like related to Component.enableEvents(long) I suspect this method will allow the container to dispatch the KeyEvent to the component but this method is not accessible from my project.
So I changed all the component to use
JComponent.setEditable(boolean)
But the problem with this method is, all the disabled components will trigger FocusListener, this should not happen because all the disabled fields should be read-only and have zero impact on other existing fields. Is there a way to enable the cut and copy operations without having the FocusListener to be trigger by using setEditable or there are other easier way?
(And anyone can help to explain how the event from the component is caught and dispatch? Include how the java do the checking when the keyEvent should/should not dispatch to child component and is there a way we can bypass those checking and allow the component to processKeyEvent when the field is disabled).
java swing keyevent disabled-input
add a comment |
I'm developing a software where client request all disabled text field should be allowed to do text selection, cut and copy operations. But now unable to proceed due to some issue faced. The input field that fit the requirements should be a read-only Text Field that able to do text selection and copy/cut through ctrl+c and when clicking on the Text Field it should not trigger any Focus/Action Listener.
Previously all disabled component is disabled through
component.setEnabled(boolean)
But in this way, all disabled fields are not able to do text selection, cut and copy operations. I had tried few ways to enable copy and cut operations but found out the component is not processing any key event in this state, its seem like related to Component.enableEvents(long) I suspect this method will allow the container to dispatch the KeyEvent to the component but this method is not accessible from my project.
So I changed all the component to use
JComponent.setEditable(boolean)
But the problem with this method is, all the disabled components will trigger FocusListener, this should not happen because all the disabled fields should be read-only and have zero impact on other existing fields. Is there a way to enable the cut and copy operations without having the FocusListener to be trigger by using setEditable or there are other easier way?
(And anyone can help to explain how the event from the component is caught and dispatch? Include how the java do the checking when the keyEvent should/should not dispatch to child component and is there a way we can bypass those checking and allow the component to processKeyEvent when the field is disabled).
java swing keyevent disabled-input
Why is the focus event a problem?
– Maurice Perry
Nov 12 '18 at 8:11
@MauricePerry, because i dont want the focus event to be trigger when user select the text for copy, some of the focus event is to perform data population/computation, but these population and computation should do only if the input field is enabled (and is huge effort to change all the focus listener to check is field isEditable before process the focusevent)
– user9054854
Nov 12 '18 at 8:20
add a comment |
I'm developing a software where client request all disabled text field should be allowed to do text selection, cut and copy operations. But now unable to proceed due to some issue faced. The input field that fit the requirements should be a read-only Text Field that able to do text selection and copy/cut through ctrl+c and when clicking on the Text Field it should not trigger any Focus/Action Listener.
Previously all disabled component is disabled through
component.setEnabled(boolean)
But in this way, all disabled fields are not able to do text selection, cut and copy operations. I had tried few ways to enable copy and cut operations but found out the component is not processing any key event in this state, its seem like related to Component.enableEvents(long) I suspect this method will allow the container to dispatch the KeyEvent to the component but this method is not accessible from my project.
So I changed all the component to use
JComponent.setEditable(boolean)
But the problem with this method is, all the disabled components will trigger FocusListener, this should not happen because all the disabled fields should be read-only and have zero impact on other existing fields. Is there a way to enable the cut and copy operations without having the FocusListener to be trigger by using setEditable or there are other easier way?
(And anyone can help to explain how the event from the component is caught and dispatch? Include how the java do the checking when the keyEvent should/should not dispatch to child component and is there a way we can bypass those checking and allow the component to processKeyEvent when the field is disabled).
java swing keyevent disabled-input
I'm developing a software where client request all disabled text field should be allowed to do text selection, cut and copy operations. But now unable to proceed due to some issue faced. The input field that fit the requirements should be a read-only Text Field that able to do text selection and copy/cut through ctrl+c and when clicking on the Text Field it should not trigger any Focus/Action Listener.
Previously all disabled component is disabled through
component.setEnabled(boolean)
But in this way, all disabled fields are not able to do text selection, cut and copy operations. I had tried few ways to enable copy and cut operations but found out the component is not processing any key event in this state, its seem like related to Component.enableEvents(long) I suspect this method will allow the container to dispatch the KeyEvent to the component but this method is not accessible from my project.
So I changed all the component to use
JComponent.setEditable(boolean)
But the problem with this method is, all the disabled components will trigger FocusListener, this should not happen because all the disabled fields should be read-only and have zero impact on other existing fields. Is there a way to enable the cut and copy operations without having the FocusListener to be trigger by using setEditable or there are other easier way?
(And anyone can help to explain how the event from the component is caught and dispatch? Include how the java do the checking when the keyEvent should/should not dispatch to child component and is there a way we can bypass those checking and allow the component to processKeyEvent when the field is disabled).
java swing keyevent disabled-input
java swing keyevent disabled-input
edited Nov 13 '18 at 17:32
user9054854
asked Nov 12 '18 at 8:08
user9054854user9054854
94
94
Why is the focus event a problem?
– Maurice Perry
Nov 12 '18 at 8:11
@MauricePerry, because i dont want the focus event to be trigger when user select the text for copy, some of the focus event is to perform data population/computation, but these population and computation should do only if the input field is enabled (and is huge effort to change all the focus listener to check is field isEditable before process the focusevent)
– user9054854
Nov 12 '18 at 8:20
add a comment |
Why is the focus event a problem?
– Maurice Perry
Nov 12 '18 at 8:11
@MauricePerry, because i dont want the focus event to be trigger when user select the text for copy, some of the focus event is to perform data population/computation, but these population and computation should do only if the input field is enabled (and is huge effort to change all the focus listener to check is field isEditable before process the focusevent)
– user9054854
Nov 12 '18 at 8:20
Why is the focus event a problem?
– Maurice Perry
Nov 12 '18 at 8:11
Why is the focus event a problem?
– Maurice Perry
Nov 12 '18 at 8:11
@MauricePerry, because i dont want the focus event to be trigger when user select the text for copy, some of the focus event is to perform data population/computation, but these population and computation should do only if the input field is enabled (and is huge effort to change all the focus listener to check is field isEditable before process the focusevent)
– user9054854
Nov 12 '18 at 8:20
@MauricePerry, because i dont want the focus event to be trigger when user select the text for copy, some of the focus event is to perform data population/computation, but these population and computation should do only if the input field is enabled (and is huge effort to change all the focus listener to check is field isEditable before process the focusevent)
– user9054854
Nov 12 '18 at 8:20
add a comment |
1 Answer
1
active
oldest
votes
but these population and computation should do only if the input field is enabled
Why is that an issue?
If you use common listener shared by all components then you just add a check to see if the component is editable.
If you use individual listeners for each component then you don't add a listener to the component if it is not editable.
I'm missing why this is a huge effort.
how the event from the component is caught and dispatch?
You might be able to use a custom KeyboardFocusManager
. Maybe override the dispatchEvent(...)
method to prevent the dispatching of events in your specific cases.
Thanks for replying my question, because the application is huge and its maintained by different developers and the listener is not a common listener different input field had a different listener and where/when the listener is added to the component also depending on the requirements. Now I'm working on the Event Queue and also EventQueueDelegate but faced some other issue. Do you have any example code or document about those java event handling?
– user9054854
Nov 13 '18 at 17:24
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53258032%2fhow-to-enabling-copy-and-cut-operations-on-java-disabled-field%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
but these population and computation should do only if the input field is enabled
Why is that an issue?
If you use common listener shared by all components then you just add a check to see if the component is editable.
If you use individual listeners for each component then you don't add a listener to the component if it is not editable.
I'm missing why this is a huge effort.
how the event from the component is caught and dispatch?
You might be able to use a custom KeyboardFocusManager
. Maybe override the dispatchEvent(...)
method to prevent the dispatching of events in your specific cases.
Thanks for replying my question, because the application is huge and its maintained by different developers and the listener is not a common listener different input field had a different listener and where/when the listener is added to the component also depending on the requirements. Now I'm working on the Event Queue and also EventQueueDelegate but faced some other issue. Do you have any example code or document about those java event handling?
– user9054854
Nov 13 '18 at 17:24
add a comment |
but these population and computation should do only if the input field is enabled
Why is that an issue?
If you use common listener shared by all components then you just add a check to see if the component is editable.
If you use individual listeners for each component then you don't add a listener to the component if it is not editable.
I'm missing why this is a huge effort.
how the event from the component is caught and dispatch?
You might be able to use a custom KeyboardFocusManager
. Maybe override the dispatchEvent(...)
method to prevent the dispatching of events in your specific cases.
Thanks for replying my question, because the application is huge and its maintained by different developers and the listener is not a common listener different input field had a different listener and where/when the listener is added to the component also depending on the requirements. Now I'm working on the Event Queue and also EventQueueDelegate but faced some other issue. Do you have any example code or document about those java event handling?
– user9054854
Nov 13 '18 at 17:24
add a comment |
but these population and computation should do only if the input field is enabled
Why is that an issue?
If you use common listener shared by all components then you just add a check to see if the component is editable.
If you use individual listeners for each component then you don't add a listener to the component if it is not editable.
I'm missing why this is a huge effort.
how the event from the component is caught and dispatch?
You might be able to use a custom KeyboardFocusManager
. Maybe override the dispatchEvent(...)
method to prevent the dispatching of events in your specific cases.
but these population and computation should do only if the input field is enabled
Why is that an issue?
If you use common listener shared by all components then you just add a check to see if the component is editable.
If you use individual listeners for each component then you don't add a listener to the component if it is not editable.
I'm missing why this is a huge effort.
how the event from the component is caught and dispatch?
You might be able to use a custom KeyboardFocusManager
. Maybe override the dispatchEvent(...)
method to prevent the dispatching of events in your specific cases.
answered Nov 13 '18 at 16:25
camickrcamickr
274k15127239
274k15127239
Thanks for replying my question, because the application is huge and its maintained by different developers and the listener is not a common listener different input field had a different listener and where/when the listener is added to the component also depending on the requirements. Now I'm working on the Event Queue and also EventQueueDelegate but faced some other issue. Do you have any example code or document about those java event handling?
– user9054854
Nov 13 '18 at 17:24
add a comment |
Thanks for replying my question, because the application is huge and its maintained by different developers and the listener is not a common listener different input field had a different listener and where/when the listener is added to the component also depending on the requirements. Now I'm working on the Event Queue and also EventQueueDelegate but faced some other issue. Do you have any example code or document about those java event handling?
– user9054854
Nov 13 '18 at 17:24
Thanks for replying my question, because the application is huge and its maintained by different developers and the listener is not a common listener different input field had a different listener and where/when the listener is added to the component also depending on the requirements. Now I'm working on the Event Queue and also EventQueueDelegate but faced some other issue. Do you have any example code or document about those java event handling?
– user9054854
Nov 13 '18 at 17:24
Thanks for replying my question, because the application is huge and its maintained by different developers and the listener is not a common listener different input field had a different listener and where/when the listener is added to the component also depending on the requirements. Now I'm working on the Event Queue and also EventQueueDelegate but faced some other issue. Do you have any example code or document about those java event handling?
– user9054854
Nov 13 '18 at 17:24
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53258032%2fhow-to-enabling-copy-and-cut-operations-on-java-disabled-field%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Why is the focus event a problem?
– Maurice Perry
Nov 12 '18 at 8:11
@MauricePerry, because i dont want the focus event to be trigger when user select the text for copy, some of the focus event is to perform data population/computation, but these population and computation should do only if the input field is enabled (and is huge effort to change all the focus listener to check is field isEditable before process the focusevent)
– user9054854
Nov 12 '18 at 8:20