我最近从Intellij设置中删除了标签,因为有可用于在文件之间导航的所有功能,谁需要它们?
问题是,分离编辑器窗口的常规方法是将选项卡拖到另一个屏幕(或区域)上.用于分离编辑器窗口的键映射中似乎没有任何内容.有没有办法通过键盘这样做?
public class TabbedArea extends JTabbedPane {
public void addArea(){
add(component);
final JPanel panel = new JPanel(new BorderLayout());
panel.add(new JLabel(title), BorderLayout.LINE_START);
JButton closeButton = new JButton(new CloseIcon());
closeButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
removeArea(subAreas.get(indexOfTabComponent(panel)));
}
});
panel.add(closeButton, BorderLayout.LINE_END);
setTabComponentAt(getTabCount() - 1, panel);
}
}
public class LnFManager {
public void setTheme(PlasticTheme theme){
for (Window window : Window.getWindows()) {
if (window.isDisplayable())
SwingUtilities.updateComponentTreeUI(window);
}
}
}
Run Code Online (Sandbox Code Playgroud)
调用setTheme()时,会导致重复发生(大概是每个组件):
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.plaf.basic.BasicTabbedPaneUI.scrollableTabLayoutEnabled(BasicTabbedPaneUI.java:263)
at javax.swing.plaf.basic.BasicTabbedPaneUI.access$400(BasicTabbedPaneUI.java:54)
at javax.swing.plaf.basic.BasicTabbedPaneUI$TabContainer.doLayout(BasicTabbedPaneUI.java:3850)
at java.awt.Container.validateTree(Container.java:1568)
at …Run Code Online (Sandbox Code Playgroud)