Vadim Egorov
Мыслитель
(5783)
8 месяцев назад
В Java можно использовать классы JComboBox и DefaultComboBoxModel для реализации аналогичного функционала. Вот пример:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
public class MainFrame extends JFrame {
private JComboBox<String> comboBox;
private JButton addButton;
public MainFrame() {
setTitle("Пример ComboBox");
setSize(300, 150);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
initComponents();
}
private void initComponents() {
setLayout(new FlowLayout());
// Предположим, что у вас есть список должностей и соответствующие им коды
List<Doljnost> listDoljnostey = new ArrayList<>();
// Заполните список должностей из базы данных или другого источника данных
// Создание ComboBoxModel для хранения данных
DefaultComboBoxModel<String> comboBoxModel = new DefaultComboBoxModel<>();
for (Doljnost doljnost : listDoljnostey) {
comboBoxModel.addElement(doljnost.getNazvanieDoljnosti()); // Добавляем текстовое значение в модель
}
// Создание JComboBox с указанием ComboBoxModel
comboBox = new JComboBox<>(comboBoxModel);
add(comboBox);
// Кнопка для добавления записи
addButton = new JButton("Добавить");
addButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// Получение выбранного элемента (текста) из ComboBox
String selectedText = (String) comboBox.getSelectedItem();
// Здесь можно найти соответствующий код должности из списка listDoljnostey и добавить его в базу данных
// Пример: int kodDoljnosti = listDoljnostey.get(comboBox.getSelectedIndex()).getKodDoljnosti();
System.out.println("Добавлена запись с должностью: " + selectedText);
}
});
add(addButton);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
MainFrame frame = new MainFrame();
frame.setVisible(true);
}
});
}
}
class Doljnost {
private int kodDoljnosti;
private String nazvanieDoljnosti;
public Doljnost(int kodDoljnosti, String nazvanieDoljnosti) {
this.kodDoljnosti = kodDoljnosti;
this.nazvanieDoljnosti = nazvanieDoljnosti;
}
public int getKodDoljnosti() {
return kodDoljnosti;
}
public String getNazvanieDoljnosti() {
return nazvanieDoljnosti;
}
}
```
Этот код создает графический интерфейс с комбо-боксом и кнопкой "Добавить". Выбрав элемент из комбо-бокса и нажав кнопку "Добавить", вы увидите текст выбранного элемента в консоли. Вам нужно будет настроить логику добавления данных в базу данных в соответствии с вашими потребностями.