Disable background panel in netbeans












0















I have these three panels in layeredPane2 as backPanel , overlayPanel and popupPanel. When I click the button I want that only the popupPanel (The one with "task created!" is visible), along with the overlayPanel the gray full size box that is supposed to hide the backPanel.This the starting screen with only backPanel visible.enter image description here



when I click the createBtn, I get this:
enter image description here



In top left corner, I don't why but there is the button and the text field visible. Also, the Create button doesn't hide. Moreover, the elements on the backPanel are accessible like this:
I can enter the text in the textField



This is my code:



popupPanel.setVisible(true);
overlayPanel.setVisible(true);


I tried backPanel.setFocusable(false); , but that doesn't help.



Thanks for your help!



Edit:



tfTitle.requestFocusInWindow();
taDesc.setLineWrap(true);
taDesc.setWrapStyleWord(true);
overlayPanel.setBackground(new Color(20,20,20, 150));
overlayPanel.setVisible(false);
layeredPane2.moveToFront(popupPanel);
layeredPane2.moveToBack(backPanel);
popupPanel.setVisible(false);


Elements' Hierarchy -



enter image description here










share|improve this question

























  • jButton3 is the blue tick on the popupPanel

    – user9192812
    Nov 21 '18 at 10:31
















0















I have these three panels in layeredPane2 as backPanel , overlayPanel and popupPanel. When I click the button I want that only the popupPanel (The one with "task created!" is visible), along with the overlayPanel the gray full size box that is supposed to hide the backPanel.This the starting screen with only backPanel visible.enter image description here



when I click the createBtn, I get this:
enter image description here



In top left corner, I don't why but there is the button and the text field visible. Also, the Create button doesn't hide. Moreover, the elements on the backPanel are accessible like this:
I can enter the text in the textField



This is my code:



popupPanel.setVisible(true);
overlayPanel.setVisible(true);


I tried backPanel.setFocusable(false); , but that doesn't help.



Thanks for your help!



Edit:



tfTitle.requestFocusInWindow();
taDesc.setLineWrap(true);
taDesc.setWrapStyleWord(true);
overlayPanel.setBackground(new Color(20,20,20, 150));
overlayPanel.setVisible(false);
layeredPane2.moveToFront(popupPanel);
layeredPane2.moveToBack(backPanel);
popupPanel.setVisible(false);


Elements' Hierarchy -



enter image description here










share|improve this question

























  • jButton3 is the blue tick on the popupPanel

    – user9192812
    Nov 21 '18 at 10:31














0












0








0








I have these three panels in layeredPane2 as backPanel , overlayPanel and popupPanel. When I click the button I want that only the popupPanel (The one with "task created!" is visible), along with the overlayPanel the gray full size box that is supposed to hide the backPanel.This the starting screen with only backPanel visible.enter image description here



when I click the createBtn, I get this:
enter image description here



In top left corner, I don't why but there is the button and the text field visible. Also, the Create button doesn't hide. Moreover, the elements on the backPanel are accessible like this:
I can enter the text in the textField



This is my code:



popupPanel.setVisible(true);
overlayPanel.setVisible(true);


I tried backPanel.setFocusable(false); , but that doesn't help.



Thanks for your help!



Edit:



tfTitle.requestFocusInWindow();
taDesc.setLineWrap(true);
taDesc.setWrapStyleWord(true);
overlayPanel.setBackground(new Color(20,20,20, 150));
overlayPanel.setVisible(false);
layeredPane2.moveToFront(popupPanel);
layeredPane2.moveToBack(backPanel);
popupPanel.setVisible(false);


Elements' Hierarchy -



enter image description here










share|improve this question
















I have these three panels in layeredPane2 as backPanel , overlayPanel and popupPanel. When I click the button I want that only the popupPanel (The one with "task created!" is visible), along with the overlayPanel the gray full size box that is supposed to hide the backPanel.This the starting screen with only backPanel visible.enter image description here



when I click the createBtn, I get this:
enter image description here



In top left corner, I don't why but there is the button and the text field visible. Also, the Create button doesn't hide. Moreover, the elements on the backPanel are accessible like this:
I can enter the text in the textField



This is my code:



popupPanel.setVisible(true);
overlayPanel.setVisible(true);


I tried backPanel.setFocusable(false); , but that doesn't help.



Thanks for your help!



Edit:



tfTitle.requestFocusInWindow();
taDesc.setLineWrap(true);
taDesc.setWrapStyleWord(true);
overlayPanel.setBackground(new Color(20,20,20, 150));
overlayPanel.setVisible(false);
layeredPane2.moveToFront(popupPanel);
layeredPane2.moveToBack(backPanel);
popupPanel.setVisible(false);


Elements' Hierarchy -



enter image description here







java swing jlayeredpane






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 21 '18 at 11:46









Dragonthoughts

1,64241017




1,64241017










asked Nov 21 '18 at 10:03







user9192812




















  • jButton3 is the blue tick on the popupPanel

    – user9192812
    Nov 21 '18 at 10:31



















  • jButton3 is the blue tick on the popupPanel

    – user9192812
    Nov 21 '18 at 10:31

















jButton3 is the blue tick on the popupPanel

– user9192812
Nov 21 '18 at 10:31





jButton3 is the blue tick on the popupPanel

– user9192812
Nov 21 '18 at 10:31












1 Answer
1






active

oldest

votes


















0














It's hard to answer the questions about the stray and visible objects without seeing your component hierarchy. This is only part of the answer.



I assume you have a panel with an OverlayLayout. It's a common trap how the layer Z position should be specified:



add(popupPanel, 800); // Doesn't work
add(popupPanel, Integer.valueOf(800)); // Works


You can prevent clickthrough to lower panels in this way:



// Prevent click-through to lower layers
popupPanel.addMouseListener(new MouseInputAdapter() { });


If you, additionally, want to close the panel when the user clicks on the darkened region outside the panel, it instead becomes like this:



MouseListener closeAdapter = new MouseInputAdapter() {
@Override
public void mouseClicked(MouseEvent ignored) {
popupPanel.setVisible(false);
}
};
popupPanel.addMouseListener(closeAdapter);

// Prevent click-through to lower layers
taskCreatedPanel.addMouseListener(new MouseInputAdapter() { });





share|improve this answer
























  • At the moment I am using free design as layout.

    – user9192812
    Nov 21 '18 at 10:29











  • I've added component hierarchy in the question. Thanks!

    – user9192812
    Nov 21 '18 at 10:29











  • You must use OverlayLayout in order to have a defined Z ordering of it's direct children. And which is the dark background?

    – Mark Jeronimus
    Nov 21 '18 at 10:34













  • Since there were only three panels, and I am using Layered Pane, so I just used moveToFront and moveToBack for ordering.

    – user9192812
    Nov 21 '18 at 10:44






  • 1





    I suggest making overlayPanel part of the popupPanel, by renaming popupPanel to taskCreatedPanel and nesting it inside overlayPanel, and then renaming overlayPanel to popupPanel. That way my code snippets fits your gui.

    – Mark Jeronimus
    Nov 21 '18 at 10:48













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
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53409561%2fdisable-background-panel-in-netbeans%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









0














It's hard to answer the questions about the stray and visible objects without seeing your component hierarchy. This is only part of the answer.



I assume you have a panel with an OverlayLayout. It's a common trap how the layer Z position should be specified:



add(popupPanel, 800); // Doesn't work
add(popupPanel, Integer.valueOf(800)); // Works


You can prevent clickthrough to lower panels in this way:



// Prevent click-through to lower layers
popupPanel.addMouseListener(new MouseInputAdapter() { });


If you, additionally, want to close the panel when the user clicks on the darkened region outside the panel, it instead becomes like this:



MouseListener closeAdapter = new MouseInputAdapter() {
@Override
public void mouseClicked(MouseEvent ignored) {
popupPanel.setVisible(false);
}
};
popupPanel.addMouseListener(closeAdapter);

// Prevent click-through to lower layers
taskCreatedPanel.addMouseListener(new MouseInputAdapter() { });





share|improve this answer
























  • At the moment I am using free design as layout.

    – user9192812
    Nov 21 '18 at 10:29











  • I've added component hierarchy in the question. Thanks!

    – user9192812
    Nov 21 '18 at 10:29











  • You must use OverlayLayout in order to have a defined Z ordering of it's direct children. And which is the dark background?

    – Mark Jeronimus
    Nov 21 '18 at 10:34













  • Since there were only three panels, and I am using Layered Pane, so I just used moveToFront and moveToBack for ordering.

    – user9192812
    Nov 21 '18 at 10:44






  • 1





    I suggest making overlayPanel part of the popupPanel, by renaming popupPanel to taskCreatedPanel and nesting it inside overlayPanel, and then renaming overlayPanel to popupPanel. That way my code snippets fits your gui.

    – Mark Jeronimus
    Nov 21 '18 at 10:48


















0














It's hard to answer the questions about the stray and visible objects without seeing your component hierarchy. This is only part of the answer.



I assume you have a panel with an OverlayLayout. It's a common trap how the layer Z position should be specified:



add(popupPanel, 800); // Doesn't work
add(popupPanel, Integer.valueOf(800)); // Works


You can prevent clickthrough to lower panels in this way:



// Prevent click-through to lower layers
popupPanel.addMouseListener(new MouseInputAdapter() { });


If you, additionally, want to close the panel when the user clicks on the darkened region outside the panel, it instead becomes like this:



MouseListener closeAdapter = new MouseInputAdapter() {
@Override
public void mouseClicked(MouseEvent ignored) {
popupPanel.setVisible(false);
}
};
popupPanel.addMouseListener(closeAdapter);

// Prevent click-through to lower layers
taskCreatedPanel.addMouseListener(new MouseInputAdapter() { });





share|improve this answer
























  • At the moment I am using free design as layout.

    – user9192812
    Nov 21 '18 at 10:29











  • I've added component hierarchy in the question. Thanks!

    – user9192812
    Nov 21 '18 at 10:29











  • You must use OverlayLayout in order to have a defined Z ordering of it's direct children. And which is the dark background?

    – Mark Jeronimus
    Nov 21 '18 at 10:34













  • Since there were only three panels, and I am using Layered Pane, so I just used moveToFront and moveToBack for ordering.

    – user9192812
    Nov 21 '18 at 10:44






  • 1





    I suggest making overlayPanel part of the popupPanel, by renaming popupPanel to taskCreatedPanel and nesting it inside overlayPanel, and then renaming overlayPanel to popupPanel. That way my code snippets fits your gui.

    – Mark Jeronimus
    Nov 21 '18 at 10:48
















0












0








0







It's hard to answer the questions about the stray and visible objects without seeing your component hierarchy. This is only part of the answer.



I assume you have a panel with an OverlayLayout. It's a common trap how the layer Z position should be specified:



add(popupPanel, 800); // Doesn't work
add(popupPanel, Integer.valueOf(800)); // Works


You can prevent clickthrough to lower panels in this way:



// Prevent click-through to lower layers
popupPanel.addMouseListener(new MouseInputAdapter() { });


If you, additionally, want to close the panel when the user clicks on the darkened region outside the panel, it instead becomes like this:



MouseListener closeAdapter = new MouseInputAdapter() {
@Override
public void mouseClicked(MouseEvent ignored) {
popupPanel.setVisible(false);
}
};
popupPanel.addMouseListener(closeAdapter);

// Prevent click-through to lower layers
taskCreatedPanel.addMouseListener(new MouseInputAdapter() { });





share|improve this answer













It's hard to answer the questions about the stray and visible objects without seeing your component hierarchy. This is only part of the answer.



I assume you have a panel with an OverlayLayout. It's a common trap how the layer Z position should be specified:



add(popupPanel, 800); // Doesn't work
add(popupPanel, Integer.valueOf(800)); // Works


You can prevent clickthrough to lower panels in this way:



// Prevent click-through to lower layers
popupPanel.addMouseListener(new MouseInputAdapter() { });


If you, additionally, want to close the panel when the user clicks on the darkened region outside the panel, it instead becomes like this:



MouseListener closeAdapter = new MouseInputAdapter() {
@Override
public void mouseClicked(MouseEvent ignored) {
popupPanel.setVisible(false);
}
};
popupPanel.addMouseListener(closeAdapter);

// Prevent click-through to lower layers
taskCreatedPanel.addMouseListener(new MouseInputAdapter() { });






share|improve this answer












share|improve this answer



share|improve this answer










answered Nov 21 '18 at 10:17









Mark JeronimusMark Jeronimus

5,24622137




5,24622137













  • At the moment I am using free design as layout.

    – user9192812
    Nov 21 '18 at 10:29











  • I've added component hierarchy in the question. Thanks!

    – user9192812
    Nov 21 '18 at 10:29











  • You must use OverlayLayout in order to have a defined Z ordering of it's direct children. And which is the dark background?

    – Mark Jeronimus
    Nov 21 '18 at 10:34













  • Since there were only three panels, and I am using Layered Pane, so I just used moveToFront and moveToBack for ordering.

    – user9192812
    Nov 21 '18 at 10:44






  • 1





    I suggest making overlayPanel part of the popupPanel, by renaming popupPanel to taskCreatedPanel and nesting it inside overlayPanel, and then renaming overlayPanel to popupPanel. That way my code snippets fits your gui.

    – Mark Jeronimus
    Nov 21 '18 at 10:48





















  • At the moment I am using free design as layout.

    – user9192812
    Nov 21 '18 at 10:29











  • I've added component hierarchy in the question. Thanks!

    – user9192812
    Nov 21 '18 at 10:29











  • You must use OverlayLayout in order to have a defined Z ordering of it's direct children. And which is the dark background?

    – Mark Jeronimus
    Nov 21 '18 at 10:34













  • Since there were only three panels, and I am using Layered Pane, so I just used moveToFront and moveToBack for ordering.

    – user9192812
    Nov 21 '18 at 10:44






  • 1





    I suggest making overlayPanel part of the popupPanel, by renaming popupPanel to taskCreatedPanel and nesting it inside overlayPanel, and then renaming overlayPanel to popupPanel. That way my code snippets fits your gui.

    – Mark Jeronimus
    Nov 21 '18 at 10:48



















At the moment I am using free design as layout.

– user9192812
Nov 21 '18 at 10:29





At the moment I am using free design as layout.

– user9192812
Nov 21 '18 at 10:29













I've added component hierarchy in the question. Thanks!

– user9192812
Nov 21 '18 at 10:29





I've added component hierarchy in the question. Thanks!

– user9192812
Nov 21 '18 at 10:29













You must use OverlayLayout in order to have a defined Z ordering of it's direct children. And which is the dark background?

– Mark Jeronimus
Nov 21 '18 at 10:34







You must use OverlayLayout in order to have a defined Z ordering of it's direct children. And which is the dark background?

– Mark Jeronimus
Nov 21 '18 at 10:34















Since there were only three panels, and I am using Layered Pane, so I just used moveToFront and moveToBack for ordering.

– user9192812
Nov 21 '18 at 10:44





Since there were only three panels, and I am using Layered Pane, so I just used moveToFront and moveToBack for ordering.

– user9192812
Nov 21 '18 at 10:44




1




1





I suggest making overlayPanel part of the popupPanel, by renaming popupPanel to taskCreatedPanel and nesting it inside overlayPanel, and then renaming overlayPanel to popupPanel. That way my code snippets fits your gui.

– Mark Jeronimus
Nov 21 '18 at 10:48







I suggest making overlayPanel part of the popupPanel, by renaming popupPanel to taskCreatedPanel and nesting it inside overlayPanel, and then renaming overlayPanel to popupPanel. That way my code snippets fits your gui.

– Mark Jeronimus
Nov 21 '18 at 10:48






















draft saved

draft discarded




















































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.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53409561%2fdisable-background-panel-in-netbeans%23new-answer', 'question_page');
}
);

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







Popular posts from this blog

Guess what letter conforming each word

Port of Spain

Run scheduled task as local user group (not BUILTIN)