use of com.github.weisj.darklaf.components.tabframe.TabbedPopup in project darklaf by weisJ.
the class TabFrameDemo method createComponent.
@Override
public JComponent createComponent() {
Icon folderIcon = DemoResources.FOLDER_ICON;
JTabFrame tabFrame = new JTabFrame();
for (Alignment o : Alignment.values()) {
if (o != Alignment.CENTER) {
for (int i = 0; i < 2; i++) {
JPanel pcc = new JPanel();
pcc.setOpaque(true);
pcc.add(new JLabel(o.toString() + "_" + i + " Popup"));
tabFrame.addTab(pcc, o + "_" + i, folderIcon, o);
}
}
}
TabbedPopup tabbedPopup = new TabbedPopup("Tabbed Popup:");
tabFrame.setTabAt(tabbedPopup, "NORTH (Tabbed Pane Tab)", null, Alignment.NORTH, 0);
for (int i = 0; i < 5; i++) {
JPanel panel = new JPanel();
JLabel label = new JLabel("Tab Number " + i);
panel.add(label);
tabbedPopup.getTabbedPane().addTab("Tab " + i, panel);
}
for (int i = 0; i < 3; i++) {
String text = "Custom Button " + i;
tabbedPopup.addButton(AllIcons.Menu.Help.get(), text).addActionListener(e -> JOptionPane.showMessageDialog(tabFrame, text));
tabFrame.getPopupAt(Alignment.EAST, 0).addButton(AllIcons.Menu.Help.get(), "Custom Button").addActionListener(e -> JOptionPane.showMessageDialog(tabFrame, text));
}
/*
* Activate for a custom tab. tabFrame.setUserTabComponentAt(new JLabel("NORTH (custom tab)") {{
* setBorder(new EmptyBorder(0, 5, 0, 5)); setOpaque(false); setForeground(Color.RED); setFont(new
* Font(Font.SERIF, Font.ITALIC, 12)); }}, Alignment.NORTH, 1);
*/
tabFrame.setAcceleratorAt(1, Alignment.NORTH_WEST, 0);
tabFrame.setTabEnabled(Alignment.NORTH_EAST, 0, false);
JPanel contentPane = new JPanel(new BorderLayout());
contentPane.add(tabFrame, BorderLayout.CENTER);
tabFrame.setContent(createTextArea());
return tabFrame;
}
Aggregations