我正在制作一个在窗口顶部有一个工具栏的 Java 应用程序。此工具栏上有 12 个按钮,但客户希望其中一个按钮的大小是所有其他按钮的 2 倍,如下所示。
我怎样才能做到这一点,使一个大的工具栏按钮与工具栏边界的边缘重叠,但仍然表现得像它是工具栏的一部分?
最佳答案
您不能将按钮添加到工具栏并将其扩展到工具栏的边界之外。也就是说,如果将 Swing 组件绘制在其容器的边界之外,它们将被剪裁。
作为 hack,您可以尝试在所有其他组件之上绘制超大按钮:
向工具栏添加一个常规按钮以填充工具栏的水平空间,从而为超大按钮保留工具栏上的空间。
将 GlassPane 添加到框架中。
将超大按钮添加到玻璃 Pane 中。
向常规按钮添加一个
ComponentListener
并处理componentMoved()
事件。无论何时生成事件,您都需要将超大按钮放置在玻璃 Pane 上,使其绘制在常规按钮的顶部。查看SwingUtilities
类。有一些方法可以让您转换相对于不同容器的点。
关于java - 如何使 1 个 JToolbar 按钮比其他按钮大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34635161/