Форум программистов, компьютерный форум, киберфорум
Java: GUI, Графика
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 11.12.2020
Сообщений: 2
1

Трудности с дописанием кода

11.12.2020, 15:21. Просмотров 2517. Ответов 1
Метки java (Все метки)

Здравствуйте, есть просьба (вопрос), у меня есть трудности с дописанием кода.
Мне нужно сохранять информацию не менее чем о пяти введённых устройств по нажатию кнопки "Сохранить";
выводить в отдельное окно информацию о всех устройствах у которых первые четыре шестнадцатеричных числа MAC-адреса одинаковые.
Как это реализовать в этом коде? Можете подсказать?
А про выводить в отдельное окно, я так понял,что надо чтобы все введённые данные сохранялись где-то в какой-то переменной и по нажатию кнопки "вывести", обрабатывается этот список и выводите в отдельном окне только нужное. Но как это сделать,я не знаю
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLayeredPane;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.border.TitledBorder;
 
 
 
class Main
{
public JLayeredPane swap;
public JTextField[] tf;
public ArrayList<String> list = new ArrayList<String>();
public JTextArea ta;
 
public Main()
{
make_Window();
make_Element();
}
 
 
private void make_Window()
{
JPanel panel = new JPanel();
panel.setPreferredSize(new Dimension(865, 360));
panel.setOpaque(false);
 
JFrame win = new JFrame("Форма");
swap = new JLayeredPane();
swap = win.getLayeredPane();
win.add(panel);
win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
win.setResizable(false);
win.getContentPane().setBackground(Color.WHITE);
win.pack();
win.setLayout(null);
win.setLocationRelativeTo(null);
win.setVisible(true);
}
 
 
private void make_Element()
{
tf = new JTextField[3];
String[] arr =
{
"Имя",
"11:22:45:66:84:AB",
"139.114.50.56"
};
for (int i = 0; i < tf.length; i++)
{
tf[i] = new JTextField();
tf[i].setBounds(15, 15+i*60, 420, 50);
tf[i].setText(arr[i]);
tf[i].setEditable(true);
tf[i].setForeground(Color.BLACK);
tf[i].setSelectionColor(new Color(53, 53, 153, 120));
tf[i].setFont(new Font("Arial", Font.PLAIN, 18));
tf[i].setLayout(null);
tf[i].setHorizontalAlignment(JTextField.CENTER);
swap.add(tf[i], new Integer(0), 0);
}
 
ta = new JTextArea();
ta.setName("");
ta.setBorder(BorderFactory.createTitledBorder(BorderFactory.createMatteBorder(3, 3,
3, 3, Color.black), "Память", TitledBorder.ABOVE_TOP,
TitledBorder.TOP));
ta.setBounds(450, 0, 400, 355);
ta.setForeground(Color.BLACK);
ta.setLineWrap(true);
ta.setWrapStyleWord(true);
ta.setFont(new Font("Arial", Font.PLAIN, 16));
ta.setSelectionColor(new Color(153, 153, 0));
ta.setLayout(null);
swap.add(ta, new Integer(0), 0);
 
JButton jb = new JButton();//создать экземпляр класса кнопки
jb.setText("Проверка");//установить для кнопки текст
jb.addActionListener(new ActionListener()
{
String[] arr =
{
"^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$",//MAC
"^(([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.){3}([01]?\\d\\d?|2[0-4]\\d|25[0-5])$"//IPv4
};
String msg = "";
 
 
public void actionPerformed(ActionEvent e)
{
msg = (tf[0].getText().length() < 16 && tf[0].getText().length() > 0 ? "true" : "false") + "-lenght name" + "\n";
 
for (int i = 0; i < arr.length; i++)
{
Pattern p = Pattern.compile(arr[i]);
Matcher m = p.matcher(tf[i+1].getText());
msg = msg + m.find() + (i == 0 ? "-MAC": "-IPv4") + "\n";
}
 
list.add(msg.replaceAll("\n",","));
 
ta.setText("");
for (int i = 0; i < list.size(); i++)
{
ta.setText(ta.getText() + list.get(i) + "\n");
}
 
System.out.println(msg + "\n" + list.get(0));
}
});
jb.setBounds(150, 210, 150, 50);
jb.setVisible(true);
jb.setLayout(null);
swap.add(jb, new Integer(0), 0);
}
 
 
public static void main(String[] args)
{
new Main();
}
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.12.2020, 15:21
Ответы с готовыми решениями:

Подскажите с дописанием кода бота
public void boy() { if (Vector3.Distance(transform.position,...

Подскажите с дописанием кода (Unity)
void OnTriggerEnter(Collider other) { if (other.gameObject.tag == &quot;Player&quot;) ...

Трудности в переформатировании кода из Pascal ABC
Здравствуйте, форумчане! Выручайте! Надо переделать код из паскаля в лазарус для курсовой 1) var...

Возникли трудности в написании кода. VBA
Сформировать массив целых случайных чисел из диапазона от 30 до 40  Найти сумму первых пяти...

1
0 / 0 / 0
Регистрация: 11.12.2020
Сообщений: 2
15.12.2020, 00:41  [ТС] 2
Можете помочь пожалуйста? я не знаю, как быть
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.12.2020, 00:41

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Трудности в условии при создании кода
Вот код: private void button1_Click(object sender, EventArgs e) { FileInfo file = new...

Трудности с переводом кода из С++ Builder в Visual Studio 2010.
Вот само задание: Дана непустая последовательность различных натуральных чисел. Определить...

Помогите с дописанием таймера в код
Добрый день. Можно вас попросить дописать код, когда работает HL1 он работал только 1 минуту и...

Создание текстовой переменной с дописанием в неё из цикла
Нужна такая помощь: Есть цикл из из этого цикла нужно записать текстовую переменную, но так чтобы...

написать Батник архивирования с дописанием разницы в архив
Нужно написать Bat файл который бы архивировал папку раз в неделю в папку backu, а ежедневно...

Напишите фрагмент кода для определения кода нажатой клавиши (расширенного кода в том числе)
Напишите фрагмент кода для определения кода нажатой клавиши (расширенного кода в том числе)....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.