Я работаю над проектом 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);
}
}