gpt4 book ai didi

java - 如何在 JFrame 中的另一个 JPanel 之上显示/隐藏 JPanel?

转载 作者:行者123 更新时间:2023-11-30 08:05:49 25 4
gpt4 key购买 nike

我有一个重新组合一些 JPanel 的主框架。我的 JFrame 已完全填满。

我希望能够在左侧的 JFrame 中的另一个 JPanel 之上显示/隐藏一个小 JPanel。此 JPanel 是用户的配置区域。

所以这是我的问题,在我的 JFrame 中,在其他所有内容之上的小区域中显示 JPanel 的最佳方式是什么

我试过了,但它没有按预期工作(这是点击设置图标时执行的代码):

private void jLabelSettingsMouseClicked(java.awt.event.MouseEvent evt) {                                            
settingsActive = !this.jLabelEmargement.isVisible();
if(!settingsActive){
FSettings.setSize(222, 380);
FSettings.setLocation(0, 150);
FSettings.setVisible(true);
FSettings.setBackground(new Color(226,236,241));
this.add(FSettings,BorderLayout.CENTER);
this.frameLearners.setVisible(false);
this.jLabelEmargement.setVisible(false);
this.jLabelFinalEval.setVisible(false);
this.jLabelLeaners.setVisible(false);
}
else{
FSettings.setVisible(false);
this.frameLearners.setVisible(true);
this.jLabelEmargement.setVisible(true);
this.jLabelFinalEval.setVisible(true);
this.jLabelLeaners.setVisible(true);
}
}

谢谢!

最佳答案

您可以用玻璃板覆盖您的框架内容。

http://www.java2s.com/Code/Java/Swing-JFC/DemonstrateuseofGlassPane.htm

JFrame myFrame = ...

JComponent glassPane = new JPanel(null);
myFrame.setGlassPane(glassPane);

private void jLabelSettingsMouseClicked(java.awt.event.MouseEvent evt) {
settingsActive = !this.jLabelEmargement.isVisible();
if(!settingsActive){
FSettings.setSize(222, 380);
FSettings.setLocation(0, 150);
FSettings.setBackground(new Color(226,236,241));
glassPane.add(FSettings);
this.frameLearners.setVisible(false);
this.jLabelEmargement.setVisible(false);
this.jLabelFinalEval.setVisible(false);
this.jLabelLeaners.setVisible(false);
}
else{
glassPane.remove(FSettings);
this.frameLearners.setVisible(true);
this.jLabelEmargement.setVisible(true);
this.jLabelFinalEval.setVisible(true);
this.jLabelLeaners.setVisible(true);
}
}

我用它来显示 JFrame 内的效果或标记。

关于java - 如何在 JFrame 中的另一个 JPanel 之上显示/隐藏 JPanel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34789806/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com