【问题标题】:JTabbedPane Achieve mouse change heightJTabbedPane 实现鼠标改变高度
【发布时间】:2021-11-29 15:29:21
【问题描述】:

Idea 有一个控制台窗口,看起来像是用 JTabbedPane 实现的

控制台窗口图片:

可以通过将鼠标悬停在其上来更改大小:

如何在 Swing 中实现这个 UI 效果?

JTabbedPane 可以有类似的效果,但不能用鼠标改变高度。

【问题讨论】:

标签: java swing awt jtabbedpane


【解决方案1】:

我基于 FlatLaf 解决了我的问题,并将代码放到了 GitHub 上。

https://github.com/Richard-Tang/FlatLafTabFrame

show

@Override
public void mouseDragged(MouseEvent e) {
    if (isDragged) {
        Dimension size = getSize();
        size.height += clickDraggedPanelPosition;
        size.height += Math.negateExact(e.getY());
        setPreferredSize(size);
        updateUI();
    }
}

关键代码是在拖动时使用 setPreferredSize() 和 UpdateUI() 更改 JPanel 的高度。

【讨论】:

    猜你喜欢
    • 2012-08-30
    • 2011-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多