Java Swing JLayeredPane 未显示

2023-12-29

我似乎遇到了一些重大问题JLayeredPane。我有一个BorderLayout()我希望西侧元素包含一些相互重叠的 JLayeredPane,这样我就可以在它们之间切换以显示正确的信息。

西窗格的宽度应为 200 像素,并且应与整个窗口一样长。在我的示例代码中,我添加了两层JLayeredPanel,但他们没有出现。它们应该位于西窗格中。

这是我的代码:

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JLayeredPane;
import javax.swing.JPanel;

public class Main {
    private static JFrame mainFrame = new JFrame();
    private static JPanel mainPane = new JPanel();
    public Main(){}

    public static void initGui(){
        JLayeredPane westPanel = new JLayeredPane();
        westPanel.setPreferredSize(new Dimension(200,0));
        westPanel.setBackground(Color.blue);

        JPanel layerOne = new JPanel();
        layerOne.add(new JLabel("This is layer 1"));
        westPanel.add(layerOne, new Integer(0), 0);

        JPanel layerTwo = new JPanel();
        layerTwo.add(new JLabel("This si layer 2"));
        westPanel.add(layerTwo, new Integer(1), 0);

        JPanel centerPanel = new JPanel();
        centerPanel.setBackground(Color.yellow);

        JPanel eastPanel = new JPanel();
        eastPanel.setPreferredSize(new Dimension(200,0));
        eastPanel.setBackground(Color.red);

        mainPane = new JPanel(new BorderLayout());
        mainPane.add(westPanel, BorderLayout.WEST);
        mainPane.add(centerPanel, BorderLayout.CENTER);
        mainPane.add(eastPanel, BorderLayout.EAST);

        mainFrame = new JFrame("Learning to use JLayeredPane");
        mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        mainFrame.setBounds(200, 200, 800, 500);
        mainFrame.setContentPane(mainPane);
        mainFrame.setVisible(true);
    }

    public static void main(String[] args) {
        initGui();
    }
}

What this results in: enter image description here


JLayeredPane 使用空布局,因此您有责任声明添加到其中的所有组件的大小和位置。如果没有,它们将默认为 [0, 0] 的位置and大小为 [0, 0]。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java Swing JLayeredPane 未显示 的相关文章

随机推荐

  • url中的#/是什么意思?

    我正在开发 ROR Web 应用程序 我的网页网址如下所示 http dev ibiza jp 3000 facebook report advertiser id 2102 dashboard 这里我明白advertiser id是210
  • 仍然对协变和逆变以及输入/输出感到困惑

    好的 我在 stackoverflow 上读了一些关于这个主题的内容 观看了this http msdn microsoft com en us vcsharp ee672319 aspx this http channel9 msdn c
  • 托管 C++ 与非托管/本机 C++ 的性能

    我正在编写一个非常高性能的应用程序 每毫秒处理和处理数百个事件 非托管 C 比托管 C 更快吗 为什么 托管 C 处理 CLR 而不是操作系统 并且 CLR 负责内存管理 这简化了代码 并且可能比 程序员 在非托管 C 中编写的代码更高效
  • Django-REST 中关系字段的 KeyError

    我有以下型号 class ProductColor models Model color title models CharField max length 50 class BasicProduct models Model produc
  • Laravel 迁移添加外键的最佳方式

    简单的问题 我是 Laravel 的新手 我有这个迁移文件 Schema create lists function Blueprint table table gt increments id table gt string title
  • 如何在 jquery 中使用单个取消委托方法删除多个事件委托

    我可以使以下内容变得更简单 而不是使用 取消委托 两次 吗 div1 undelegate div mouseenter undelegate div mouseleave 我不希望除 mouseenter 和 mouseleave 之外的
  • 哪些后端正在消耗 Google Container Engine Kubernetes 配额

    我正在尝试在 Google Container Engine 上的 Kubernetes 上设置 Ingress 但收到超出配额的错误 请参阅下面的简短输出 Name my ingress Address Default backend d
  • 基于表单字段的查询条件

    因此 我有一个查询 在其中选择一个字段并设置条件 以便它仅根据表单中特定字段的当前值选择记录 标准看起来像这样 Forms FORMAL CERT REVIEW CHECK FORM REVIEW CHECK ID 很简单的东西 但我遇到了
  • 基于 HR 标签,使用 Javascript/JQuery 将 HTML 拆分为 div

    我想根据 HR 标签将从 Web 服务收到的文章 HTML 内容 拆分到不同的 DIV 中 我用一个例子来解释 这是我从服务中收到的 p This is an article bla bla p hr p this is the next
  • MFC 获取文件夹

    嘿 我如何在 MFC 中获取所有文件夹的名称 有什么例子或者我应该研究哪些课程 任何提示将非常感激 我所看到的只是 CFile 据我所见 尽管非常非常少 它看起来没有能力做我想做的事情 所以请指导我 Thanks 调查C文件查找 http
  • 无法在设置中更改 Android 应用程序名称

    我使用 ADT Eclipse 中的向导创建了一个应用程序 我在 strings xml 中编辑了应用程序名称 这更改了启动器图标上的标签 但是 如果我进入 设置 gt 应用程序 它会显示旧名称 我尝试卸载该应用程序 清理并再次运行 但它仍
  • JavaScript - 无法正确添加 2 个数字

    我正在使用 Javascript 模拟计算器 用户可以在给定的文本框中输入 2 个数字 它将显示总和 乘积 差值和除法 这是我的功能 function calculate num1 num2 console log First Number
  • Python pip 无法在 Linux mint 上运行

    我已经遇到这个错误一年了 但仍然找不到解决方案 我正在使用 Linux Mint 17 3 每次我尝试使用 pip 安装某些东西时 都会遇到一堆异常 pip install U scikit learns Exception Traceba
  • 我可以从 .html 页面链接到 .ejs 页面吗?

    我正在制作一个网页 并且一直在 stackoverflow 上查找如何从 html 文件链接到 ejs 文件 人们在说以下内容 在index html中 li a href twitter Twitter a li 在 script js
  • 在 React 中单击组件外部时更改状态

    I have a dropdown as is shown in the following image 当我单击文件夹图标时 它会打开和关闭 因为showingProjectSelector属性处于设置为 false 的状态 constr
  • 熊猫由长到宽的重塑,通过两个变量

    我有长格式的数据 并且正在尝试将其重塑为宽格式 但似乎没有一种简单的方法可以使用熔化 堆叠 取消堆叠来执行此操作 Salesman Height product price Knut 6 bat 5 Knut 6 ball 1 Knut 6
  • Java JUnit 测试无法使用 @Before 注释

    嘿 com 开始进行 Java JUnit 测试并遇到有关 Before 注释的问题 我的设置 爪哇9 日食氧气 J单元5 如果我这样进行测试 package junittesting import org junit jupiter ap
  • 当控制流关闭函数结束而没有返回时,为什么仍然有返回值?

    include
  • ASP.Net MVC JQuery Ajax 调用不返回任何内容

    是否可以通过ajax 在我的例子中使用JQuery 从视图到控制器进行不返回任何内容的调用 我只是在会话中设置一些变量 没有可显示的输出 我尝试将控制器上的方法设置为无效 但它不起作用 现在我已将方法返回标记为 JsonResult 并且我
  • Java Swing JLayeredPane 未显示

    我似乎遇到了一些重大问题JLayeredPane 我有一个BorderLayout 我希望西侧元素包含一些相互重叠的 JLayeredPane 这样我就可以在它们之间切换以显示正确的信息 西窗格的宽度应为 200 像素 并且应与整个窗口一样