Jframe для генерации Hiearchy папок? - PullRequest
0 голосов
/ 12 марта 2012

Я работаю над проектом JAVA, который включает построение иерархии папок.

Я упросту это. Предположим, что существует организация под названием ABC, и в ней есть 2 отдела, один из которых - Java, а другой - Dotnet. Оба они, в свою очередь, имеют 3 подотдела (Core, JSP и EJB) для Java и (ASP, SilverLight и Ajax) для Dotnet.

Пользователь предоставляет информацию о структуре своего Дерева через серию JFrames. В первом кадре пользователь дает название организации, которое должно быть принято в качестве головного узла. Параллельно создается папка по адресу ("C: \ Users \ Sam \ OrganisationName")

JFrame имеет «нередактируемое» поле JText, в котором отображается имя родителя текущего JFrame.

Далее JFrame спрашивает, есть ли у пользователя количество подгрупп в организации. Так что в этом случае пользователь задает 2 как i / p (Java и Dotnet).

Далее Jframe спрашивает пользователя, как называется первая подгруппа, и спрашивает, есть ли у нее дополнительные подгруппы, если да, то сколько. USer i / p = Java (папка создана @ "C: \ Users \ Sam \ OrganisationName \ Java"), Да, 3 (Core JSP и EJB).

Теперь при нажатии кнопки «Далее» следующие 3 всплывающих окна JFrames должны иметь родительское поле «Организация / Java». Тогда 4-й кадр должен иметь родительское поле как «Организация». Затем снова Jframes 5,6 и 7 должен иметь "Организация / Dotnet".

Я работаю над кодом, который будет работать для дерева всех размеров. Пожалуйста, помогите.

Вот код, если он полезен для JFrame, который будет принимать информацию о подгруппах:

package SwingComponents;

import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;

import javax.swing.*;
import javax.swing.event.CaretEvent;
import javax.swing.event.CaretListener;

public class SubDirectoryFrameIII {

    static JFrames frame = new JFrames();
    protected static int Number;
    int NumberOfGroups = JButtons.getNumberOfGroups();
    public static JTextField GroupName = new JTextField();
    public static JTextField NoOfSubGrups = new JTextField();
    public static JTextField EmailId = new JTextField();
    public static JTextField ParentName = new JTextField();


    public static void GetGroupInformation(){

        frame.setBounds(400, 10, 650, 700);
        frame.setResizable(false);

        JPanel panel = new JPanel(null);
        panel.setBackground(Color.gray);


        JLabel topLabel = new JLabel();
        topLabel.setText("Group Information");
        topLabel.setFont(new Font("Old English Text MT", 9, 30));
        topLabel.setForeground(Color.WHITE);
        topLabel.setBounds(90, 30, 500, 40);


        JLabel Parent = new JLabel();
        Parent.setText("Parent Group");
        Parent.setFont(new Font("Algerian", 4, 20));
        Parent.setBounds(30, 130, 150, 40);
        Parent.setForeground(Color.WHITE);

        ParentName.setText(new ValueFromFrames.FirstFrame().getOrganisationName());
        ParentName.setEditable(false);
        ParentName.setBounds(300, 135, 230, 30);

        JLabel Group = new JLabel();
        Group.setText("Group Name");
        Group.setFont(new Font("Algerian", 4, 20));
        Group.setBounds(30, 230, 150, 40);
        Group.setForeground(Color.WHITE);

        GroupName.setBounds(300, 235, 230, 30);

        JLabel EmailID = new JLabel();
        EmailID.setText("Email ID");
        EmailID.setFont(new Font("Algerian", 4, 20));
        EmailID.setBounds(30, 330, 150, 40);
        EmailID.setForeground(Color.WHITE);

        EmailId.setBounds(300, 335, 230, 30);

        JLabel NoOfSubGroups = new JLabel();
        NoOfSubGroups.setText("No Of SubGroups");
        NoOfSubGroups.setFont(new Font("Algerian", 4, 20));
        NoOfSubGroups.setBounds(30, 530, 400, 40);
        NoOfSubGroups.setForeground(Color.WHITE);

        NoOfSubGrups.setBounds(300, 535, 230, 30);

        NoOfSubGrups.addCaretListener(new CaretListener() {

            @Override
            public void caretUpdate(CaretEvent e) {

             try{


                 Number = Integer.parseInt(NoOfSubGrups.getText());

             }  

                catch(Exception exception){

                    JOptionPane.showMessageDialog(null, "Enter Valid Number");
                }

            }
        });




        JRadioButton Yes = new JRadioButton("YES");
        Yes.setBounds(300, 435, 100, 30);
        Yes.setBackground(Color.GRAY);
        Yes.setFont(new Font("Algerian", 3, 15));
        Yes.setSelected(true);

        Yes.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent arg0) {

                NoOfSubGrups.setVisible(true);

            }
        });

        JRadioButton No = new JRadioButton("NO"); 
        No.setBounds(450, 435, 100, 30);
        No.setBackground(Color.GRAY);
        No.setFont(new Font("Algerian", 3, 15));

        No.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent arg0) {

                NoOfSubGrups.setVisible(false);


            }
        });


        ButtonGroup Choices = new ButtonGroup();
        Choices.add(Yes);
        Choices.add(No);


        JLabel isSubGroups = new JLabel();
        isSubGroups.setText("Sub-Groups");
        isSubGroups.setFont(new Font("Algerian", 40, 20));
        isSubGroups.setBounds(30, 430, 400, 40);
        isSubGroups.setForeground(Color.WHITE);

        JButtons Next = new JButtons();
        Next.setName("Next2");
        Next.setText("Next");
        Next.setForeground(Color.BLACK);
        Next.setBounds(500, 620, 100, 40);

        JButtons Back = new JButtons();
        Back.setName("Back2");
        Back.setText("Back");
        Back.setForeground(Color.BLACK);
        Back.setBounds(30, 620, 100, 40);

        panel.add(GroupName);
        panel.add(Group);
        panel.add(ParentName);
        panel.add(Parent);
        panel.add(topLabel);
        panel.add(Yes);
        panel.add(No);
        panel.add(isSubGroups);
        panel.add(NoOfSubGrups);
        panel.add(NoOfSubGroups);
        panel.add(EmailID);
        panel.add(EmailId);
        panel.add(Next);
        panel.add(Back);

        frame.setVisible(true);
        frame.add(panel);

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...