use of javax.swing.JTree in project LogisticsPipes by RS485.
the class DebugHelper method handleItemTooltip.
@Override
public List<String> handleItemTooltip(GuiContainer gui, final ItemStack itemstack, int paramInt1, int paramInt2, List<String> currenttip) {
if (Configs.TOOLTIP_INFO && itemstack != null) {
if (Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) && Keyboard.isKeyDown(Keyboard.KEY_LCONTROL) && Keyboard.isKeyDown(Keyboard.KEY_H)) {
if (DebugHelper.lastTime + 1000 < System.currentTimeMillis()) {
DebugHelper.lastTime = System.currentTimeMillis();
new Thread(() -> {
while (Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) || Keyboard.isKeyDown(Keyboard.KEY_LCONTROL) || Keyboard.isKeyDown(Keyboard.KEY_H)) {
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
DefaultMutableTreeNode node = new DefaultMutableTreeNode(ItemIdentifier.get(itemstack).getFriendlyName());
node.add(new DefaultMutableTreeNode("ItemId: " + Item.getIdFromItem(itemstack.getItem())));
node.add(new DefaultMutableTreeNode("ItemDamage: " + itemstack.getItemDamage()));
if (itemstack.hasTagCompound()) {
DefaultMutableTreeNode tag = new DefaultMutableTreeNode("Tag:");
try {
addNBTToTree(itemstack.getTagCompound(), tag);
} catch (Exception e) {
tag.add(new DefaultMutableTreeNode(e));
}
node.add(tag);
}
JTree tree = new JTree(node);
JScrollPane treeView = new JScrollPane(tree);
JFrame frame = new JFrame("Item Info");
frame.getContentPane().add(treeView, BorderLayout.CENTER);
frame.setLocationRelativeTo(null);
frame.pack();
frame.setVisible(true);
}).start();
}
}
}
return currenttip;
}
use of javax.swing.JTree in project pcgen by PCGen.
the class SpellsPreparedTab method getCurrentSpellListName.
/**
* Identify the current spell list, being the spell list that spell should
* be added to. If no lists exist then a default one will be created.
*
* @param character The character qwe are checking for.
* @return The name of the 'current' spell list.
*/
String getCurrentSpellListName(CharacterFacade character) {
String spellList = "";
Object selectedObject = selectedTable.getSelectedObject();
if (selectedObject != null) {
if (selectedObject instanceof SpellNode) {
spellList = ((SpellNode) selectedObject).getRootNode().toString();
} else {
JTree tree = selectedTable.getTree();
TreePath path = tree.getSelectionPath();
while (path.getParentPath() != null && (path.getParentPath().getParentPath() != null)) {
path = path.getParentPath();
}
spellList = path.getLastPathComponent().toString();
}
}
if (StringUtils.isEmpty(spellList)) {
spellList = spellListField.getText();
}
if (StringUtils.isEmpty(spellList)) {
ListFacade<?> data = selectedTable.getTreeViewModel().getDataModel();
if (!data.isEmpty()) {
Object firstElem = data.getElementAt(0);
if (firstElem instanceof SpellNode) {
spellList = ((SpellNode) firstElem).getRootNode().toString();
}
}
}
if (StringUtils.isEmpty(spellList)) {
// No lists exist, so create a default one!
spellList = "Prepared Spells";
character.getSpellSupport().addSpellList(spellList);
}
return spellList;
}
use of javax.swing.JTree in project pcgen by PCGen.
the class PreferencesPluginsPanel method getCenter.
@Override
protected JComponent getCenter() {
DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode("Root");
DefaultMutableTreeNode characterNode;
DefaultMutableTreeNode pcGenNode;
DefaultMutableTreeNode appearanceNode;
DefaultMutableTreeNode gameModeNode;
panelList = new ArrayList<>(15);
// Build the settings panel
settingsPanel = new JPanel();
settingsPanel.setLayout(new CardLayout());
settingsPanel.setPreferredSize(new Dimension(780, 420));
// Build the selection tree
characterNode = new DefaultMutableTreeNode(in_character);
settingsPanel.add(buildEmptyPanel("", LanguageBundle.getString("in_Prefs_charTip")), in_character);
characterStatsPanel = new CharacterStatsPanel(this);
addPanelToTree(characterNode, characterStatsPanel);
hitPointsPanel = new HitPointsPanel();
addPanelToTree(characterNode, hitPointsPanel);
houseRulesPanel = new HouseRulesPanel();
addPanelToTree(characterNode, houseRulesPanel);
monsterPanel = new MonsterPanel();
addPanelToTree(characterNode, monsterPanel);
defaultsPanel = new DefaultsPanel();
addPanelToTree(characterNode, defaultsPanel);
rootNode.add(characterNode);
appearanceNode = new DefaultMutableTreeNode(in_appearance);
settingsPanel.add(buildEmptyPanel("", LanguageBundle.getString("in_Prefs_appearanceTip")), in_appearance);
colorsPanel = new ColorsPanel();
addPanelToTree(appearanceNode, colorsPanel);
displayOptionsPanel = new DisplayOptionsPanel();
addPanelToTree(appearanceNode, displayOptionsPanel);
levelUpPanel = new LevelUpPanel();
addPanelToTree(appearanceNode, levelUpPanel);
lookAndFeelPanel = new LookAndFeelPanel(this);
addPanelToTree(appearanceNode, lookAndFeelPanel);
// tabsPanel = new TabsPanel();
// addPanelToTree(appearanceNode, tabsPanel);
rootNode.add(appearanceNode);
pcGenNode = new DefaultMutableTreeNode(Constants.APPLICATION_NAME);
settingsPanel.add(buildEmptyPanel("", LanguageBundle.getString("in_Prefs_pcgenTip")), Constants.APPLICATION_NAME);
equipmentPanel = new EquipmentPanel();
addPanelToTree(pcGenNode, equipmentPanel);
languagePanel = new LanguagePanel();
addPanelToTree(pcGenNode, languagePanel);
locationPanel = new LocationPanel();
addPanelToTree(pcGenNode, locationPanel);
inputPanel = new InputPanel();
addPanelToTree(pcGenNode, inputPanel);
outputPanel = new OutputPanel();
addPanelToTree(pcGenNode, outputPanel);
sourcesPanel = new SourcesPanel();
addPanelToTree(pcGenNode, sourcesPanel);
rootNode.add(pcGenNode);
String in_gamemode = LanguageBundle.getString("in_mnuSettingsCampaign");
gameModeNode = new DefaultMutableTreeNode(in_gamemode);
settingsPanel.add(buildEmptyPanel("", LanguageBundle.getString("in_mnuSettingsCampaignTip")), in_gamemode);
copySettingsPanel = new CopySettingsPanel();
addPanelToTree(gameModeNode, copySettingsPanel);
rootNode.add(gameModeNode);
DefaultMutableTreeNode pluginNode = new DefaultMutableTreeNode(//$NON-NLS-1$
LanguageBundle.getString("in_Prefs_plugins"));
addPluginPanes(rootNode, pluginNode);
settingsModel = new DefaultTreeModel(rootNode);
settingsTree = new JTree(settingsModel);
settingsTree.setBorder(BorderFactory.createEmptyBorder(0, 3, 0, 0));
settingsTree.setRootVisible(false);
settingsTree.setShowsRootHandles(true);
settingsTree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
settingsScroll = new JScrollPane(settingsTree, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
// Turn off the icons
DefaultTreeCellRenderer renderer = new DefaultTreeCellRenderer();
renderer.setLeafIcon(null);
renderer.setOpenIcon(null);
renderer.setClosedIcon(null);
settingsTree.setCellRenderer(renderer);
// Expand all of the branch nodes
settingsTree.expandPath(new TreePath(characterNode.getPath()));
settingsTree.expandPath(new TreePath(pcGenNode.getPath()));
settingsTree.expandPath(new TreePath(appearanceNode.getPath()));
settingsTree.expandPath(new TreePath(gameModeNode.getPath()));
settingsTree.expandPath(new TreePath(pluginNode.getPath()));
// Add the listener which switches panels when a node of the tree is selected
settingsTree.addTreeSelectionListener(new TreeSelectionListener() {
@Override
public void valueChanged(TreeSelectionEvent e) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) settingsTree.getLastSelectedPathComponent();
if (node == null) {
return;
}
CardLayout cl = (CardLayout) (settingsPanel.getLayout());
cl.show(settingsPanel, String.valueOf(node));
}
});
// Build the split pane
splitPane = new FlippingSplitPane(JSplitPane.HORIZONTAL_SPLIT, settingsScroll, settingsPanel, "Prefs");
splitPane.setOneTouchExpandable(true);
splitPane.setDividerSize(10);
return splitPane;
}
use of javax.swing.JTree in project pcgen by PCGen.
the class NotesView method initComponents.
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
private void initComponents() {
//GEN-BEGIN:initComponents
jSplitPane1 = new FlippingSplitPane();
jScrollPane1 = new JScrollPane();
notesTree = new JTree();
jPanel1 = new JPanel();
jScrollPane2 = new JScrollPane();
editor = new JTextPane();
jPanel2 = new JPanel();
fileBar = new JToolBar();
newButton = new JButton();
saveButton = new JButton();
exportButton = new JButton();
revertButton = new JButton();
deleteButton = new JButton();
clipboardBar = new JToolBar();
cutButton = new JButton();
copyButton = new JButton();
pasteButton = new JButton();
formatBar = new JToolBar();
sizeCB = new JComboBox();
boldButton = new JButton();
italicButton = new JButton();
underlineButton = new JButton();
colorButton = new JButton();
bulletButton = new JButton();
enumButton = new JButton();
imageButton = new JButton();
alignmentBar = new JToolBar();
leftJustifyButton = new JButton();
centerJustifyButton = new JButton();
rightJustifyButton = new JButton();
filePane = new JPanel();
fileLeft = new JButton();
fileRight = new JButton();
filesBar = new JToolBar();
setLayout(new java.awt.BorderLayout());
jSplitPane1.setDividerLocation(175);
jSplitPane1.setDividerSize(5);
jScrollPane1.setViewportView(notesTree);
jSplitPane1.setLeftComponent(jScrollPane1);
jPanel1.setLayout(new java.awt.BorderLayout());
editor.addCaretListener(this::editorCaretUpdate);
jScrollPane2.setViewportView(editor);
jPanel1.add(jScrollPane2, java.awt.BorderLayout.CENTER);
jPanel2.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 0, 0));
newButton.setIcon(Icons.stock_new.getImageIcon());
newButton.setToolTipText("New Node");
newButton.setBorder(new EtchedBorder());
newButton.setEnabled(false);
newButton.addActionListener(new java.awt.event.ActionListener() {
@Override
public void actionPerformed(java.awt.event.ActionEvent evt) {
newButtonActionPerformed();
}
});
fileBar.add(newButton);
saveButton.setIcon(Icons.stock_save.getImageIcon());
saveButton.setToolTipText("Save Node");
saveButton.setBorder(new EtchedBorder());
saveButton.setEnabled(false);
saveButton.addActionListener(new java.awt.event.ActionListener() {
@Override
public void actionPerformed(java.awt.event.ActionEvent evt) {
saveButtonActionPerformed();
}
});
fileBar.add(saveButton);
exportButton.setIcon(Icons.stock_export.getImageIcon());
exportButton.setToolTipText("Export");
exportButton.setBorder(new EtchedBorder());
exportButton.setEnabled(false);
exportButton.addActionListener(new java.awt.event.ActionListener() {
@Override
public void actionPerformed(java.awt.event.ActionEvent evt) {
exportButtonActionPerformed();
}
});
fileBar.add(exportButton);
revertButton.setIcon(Icons.stock_revert.getImageIcon());
revertButton.setToolTipText("Revert to Saved");
revertButton.setBorder(new EtchedBorder());
revertButton.setEnabled(false);
revertButton.addActionListener(new java.awt.event.ActionListener() {
@Override
public void actionPerformed(java.awt.event.ActionEvent evt) {
revertButtonActionPerformed();
}
});
fileBar.add(revertButton);
deleteButton.setIcon(Icons.stock_broken_image.getImageIcon());
deleteButton.setToolTipText("Delete Node");
deleteButton.setBorder(new EtchedBorder());
deleteButton.setEnabled(false);
deleteButton.addActionListener(new java.awt.event.ActionListener() {
@Override
public void actionPerformed(java.awt.event.ActionEvent evt) {
deleteButtonActionPerformed();
}
});
fileBar.add(deleteButton);
jPanel2.add(fileBar);
cutButton.setIcon(Icons.stock_cut.getImageIcon());
cutButton.setToolTipText("Cut");
cutButton.setBorder(new EtchedBorder());
cutButton.addActionListener(this::cutButtonActionPerformed);
clipboardBar.add(cutButton);
copyButton.setIcon(Icons.stock_copy.getImageIcon());
copyButton.setToolTipText("Copy");
copyButton.setBorder(new EtchedBorder());
copyButton.addActionListener(this::copyButtonActionPerformed);
clipboardBar.add(copyButton);
pasteButton.setIcon(Icons.stock_paste.getImageIcon());
pasteButton.setToolTipText("Paste");
pasteButton.setBorder(new EtchedBorder());
pasteButton.addActionListener(this::pasteButtonActionPerformed);
clipboardBar.add(pasteButton);
jPanel2.add(clipboardBar);
sizeCB.setToolTipText("Size");
sizeCB.setBorder(new EtchedBorder());
sizeCB.addActionListener(this::sizeCBActionPerformed);
formatBar.add(sizeCB);
boldButton.setIcon(Icons.stock_text_bold.getImageIcon());
boldButton.setToolTipText("Bold");
boldButton.setBorder(new EtchedBorder());
boldButton.addActionListener(this::boldButtonActionPerformed);
formatBar.add(boldButton);
italicButton.setIcon(Icons.stock_text_italic.getImageIcon());
italicButton.setToolTipText("Italic");
italicButton.setBorder(new EtchedBorder());
italicButton.addActionListener(this::italicButtonActionPerformed);
formatBar.add(italicButton);
underlineButton.setIcon(Icons.stock_text_underline.getImageIcon());
underlineButton.setToolTipText("Underline");
underlineButton.setBorder(new EtchedBorder());
underlineButton.addActionListener(this::underlineButtonActionPerformed);
formatBar.add(underlineButton);
colorButton.setForeground(new java.awt.Color(0, 0, 0));
colorButton.setIcon(Icons.createImageIcon("menu-mode-RGB-alt.png"));
colorButton.setToolTipText("Color");
colorButton.setBorder(new EtchedBorder());
colorButton.addActionListener(new java.awt.event.ActionListener() {
@Override
public void actionPerformed(java.awt.event.ActionEvent evt) {
colorButtonActionPerformed();
}
});
formatBar.add(colorButton);
bulletButton.setIcon(Icons.stock_list_bulet.getImageIcon());
bulletButton.setToolTipText("Bulleted List");
bulletButton.setAction(actionListUnordered);
bulletButton.setBorder(new EtchedBorder());
formatBar.add(bulletButton);
enumButton.setIcon(Icons.stock_list_enum.getImageIcon());
enumButton.setToolTipText("Numbered List");
enumButton.setAction(actionListOrdered);
enumButton.setBorder(new EtchedBorder());
formatBar.add(enumButton);
imageButton.setIcon(Icons.stock_insert_graphic.getImageIcon());
imageButton.setBorder(new EtchedBorder());
imageButton.addActionListener(new java.awt.event.ActionListener() {
@Override
public void actionPerformed(java.awt.event.ActionEvent evt) {
imageButtonActionPerformed();
}
});
formatBar.add(imageButton);
jPanel2.add(formatBar);
leftJustifyButton.setIcon(Icons.stock_text_align_left.getImageIcon());
leftJustifyButton.setToolTipText("Left Justify");
leftJustifyButton.setBorder(new EtchedBorder());
leftJustifyButton.addActionListener(this::leftJustifyButtonActionPerformed);
alignmentBar.add(leftJustifyButton);
centerJustifyButton.setIcon(Icons.stock_text_align_center.getImageIcon());
centerJustifyButton.setToolTipText("Center");
centerJustifyButton.setBorder(new EtchedBorder());
centerJustifyButton.addActionListener(this::centerJustifyButtonActionPerformed);
alignmentBar.add(centerJustifyButton);
rightJustifyButton.setIcon(Icons.stock_text_align_right.getImageIcon());
rightJustifyButton.setToolTipText("Right Justify");
rightJustifyButton.setBorder(new EtchedBorder());
rightJustifyButton.addActionListener(this::rightJustifyButtonActionPerformed);
alignmentBar.add(rightJustifyButton);
jPanel2.add(alignmentBar);
jPanel1.add(jPanel2, java.awt.BorderLayout.NORTH);
filePane.setLayout(new BoxLayout(filePane, BoxLayout.X_AXIS));
fileLeft.setText("<");
fileLeft.setBorder(new EtchedBorder());
fileLeft.addActionListener(new java.awt.event.ActionListener() {
@Override
public void actionPerformed(java.awt.event.ActionEvent evt) {
fileLeftActionPerformed();
}
});
filePane.add(fileLeft);
fileRight.setText(">");
fileRight.setBorder(new EtchedBorder());
fileRight.addActionListener(new java.awt.event.ActionListener() {
@Override
public void actionPerformed(java.awt.event.ActionEvent evt) {
fileRightActionPerformed();
}
});
filePane.add(fileRight);
filePane.add(filesBar);
jPanel1.add(filePane, java.awt.BorderLayout.SOUTH);
jSplitPane1.setRightComponent(jPanel1);
add(jSplitPane1, java.awt.BorderLayout.CENTER);
}
use of javax.swing.JTree in project ACS by ACS-Community.
the class Gui method show.
void show(Gen.AnchorNode n) {
DefaultMutableTreeNode r = new DefaultMutableTreeNode(n);
toTreeNode(n, r);
JTree t = new JTree(r);
final JFrame f = new JFrame();
f.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent evt) {
synchronized (Gui.this) {
Gui.this.notify();
}
f.dispose();
}
});
f.getContentPane().add(new JScrollPane(t));
f.pack();
f.setVisible(true);
}
Aggregations