Дерево стран на Java

Дерево стран на JavaПредставляю вам дерево стран на Java. Просто скопируйте нижний код и вставьте его в ваш IDE Eclipse или NetBeans.

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;
import javax.swing.tree.*;
public class DerevoTest {

    public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {

            public void run() {
                JFrame frame = new DerevoFrameEdit();
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setVisible(true);
            }
        });
    }

}
class DerevoFrameEdit extends JFrame {
    public DerevoFrameEdit() {
        setTitle("");
        setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);

        TreeNode root = makeSampleDerevo();
        model = new DefaultTreeModel(root);
        tree = new JTree(model);
        tree.setEditable(true);

        JScrollPane scrollPane = new JScrollPane(tree);
        add(scrollPane, BorderLayout.CENTER);

        makeButtons();
    }
    public TreeNode makeSampleDerevo() {
        DefaultMutableTreeNode root = new DefaultMutableTreeNode("");
        DefaultMutableTreeNode country = new DefaultMutableTreeNode("");
        root.add(country);
        DefaultMutableTreeNode city = new DefaultMutableTreeNode("");
        country.add(city);
        country = new DefaultMutableTreeNode("");
        root.add(country);
        city = new DefaultMutableTreeNode("");
        country.add(city);
        country = new DefaultMutableTreeNode("");
        root.add(country);
        city = new DefaultMutableTreeNode("");
        country.add(city);
        return root;
    }
    public void makeButtons() {
    } {
        JPanel panel = new JPanel();
        JButton addSiblingButton = new JButton(" ");
        addSiblingButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent event) {
                DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode)
                        tree.getLastSelectedPathComponent();
                if(selectedNode == null) return;
                DefaultMutableTreeNode parent = (DefaultMutableTreeNode)
                        selectedNode.getParent();
                if(parent == null) return;

                DefaultMutableTreeNode newNode = new DefaultMutableTreeNode("");
                int selectedIndex = parent.getIndex(selectedNode);
                model.insertNodeInto(newNode, parent, selectedIndex + 1);

                TreeNode[] nodes = model.getPathToRoot(newNode);
                TreePath path = new TreePath(nodes);
                tree.scrollPathToVisible(path);
            }
        });
        panel.add(addSiblingButton);

        JButton addChildButton = new JButton(" ");
        addChildButton.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent event) {
                DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode)
                tree.getLastSelectedPathComponent();

                if(selectedNode == null) return;

                DefaultMutableTreeNode newNode = new DefaultMutableTreeNode("");
                model.insertNodeInto(newNode, selectedNode, selectedNode.getChildCount());

                TreeNode[] nodes = model.getPathToRoot(newNode);
                TreePath path = new TreePath(nodes);
                tree.scrollPathToVisible(path);
            }
        });
        panel.add(addChildButton);
        JButton deleteButton = new JButton("");
        deleteButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent event) {
                DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode)
                tree.getLastSelectedPathComponent();

                if(selectedNode != null && selectedNode.getParent() != null)
                    model.removeNodeFromParent(selectedNode); } });
                    panel.add(deleteButton);
                    add(panel, BorderLayout.SOUTH);
    }
    private DefaultTreeModel model;
    private JTree tree;
    private static final int DEFAULT_WIDTH = 500;
    private static final int DEFAULT_HEIGHT = 500;
}

Вот что должно получится:
Дерево стран на Java

Комментариев 7 на “Дерево стран на Java

  1. что означают эти скобки?? типа функция открылась и закрылась, а потом что-то снова открылось? почему это работает? неужели эти скобки можно ставить где угодно и будет работать? очень прошу объяснить эти три скобки!
    public void makeButtons() {
    } {

  2. В строке : if(selectedNode != null && selectedNode.getParent() != null)

    Допущена ошибка (&&amp)- вместо этого нужен просто знак &…..иначе компилятор выдает ошибку что данная переменная amp не объявлена!!

  3. ПРИВЕТ МОЖНОЛИ СЮДА добавить фотографию страну и немного инфоромасия о городе

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *