Disable background panel in netbeans
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.
when I click the createBtn
, I get this:
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:
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 -
java swing jlayeredpane
add a comment |
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.
when I click the createBtn
, I get this:
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:
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 -
java swing jlayeredpane
jButton3
is the blue tick on thepopupPanel
– user9192812
Nov 21 '18 at 10:31
add a comment |
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.
when I click the createBtn
, I get this:
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:
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 -
java swing jlayeredpane
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.
when I click the createBtn
, I get this:
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:
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 -
java swing jlayeredpane
java swing jlayeredpane
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 thepopupPanel
– user9192812
Nov 21 '18 at 10:31
add a comment |
jButton3
is the blue tick on thepopupPanel
– 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
add a comment |
1 Answer
1
active
oldest
votes
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() { });
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 useOverlayLayout
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
|
show 5 more comments
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%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
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() { });
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 useOverlayLayout
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
|
show 5 more comments
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() { });
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 useOverlayLayout
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
|
show 5 more comments
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() { });
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() { });
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 useOverlayLayout
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
|
show 5 more comments
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 useOverlayLayout
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
|
show 5 more comments
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%2f53409561%2fdisable-background-panel-in-netbeans%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
jButton3
is the blue tick on thepopupPanel
– user9192812
Nov 21 '18 at 10:31