Я разрабатываю Java-приложение .
Я создал этот интерфейс с MockupScreens .
Пожалуйста, посмотрите на эти картинки.
Вначале есть только один элемент, пользователь должен ввести информацию (заголовок и описание), затем он начинает добавлять элементы по мере необходимости.
Он может редактировать информацию в любое время.
Он тоже может удалить или изменить порядок этих элементов ...
Как я могу создать что-то похожее на картинки ?????
Заранее спасибо.
С уважением,
Али.
Я знаю эти части в Java Swing.
Моя проблема заключается в том, как динамически вставить этот блок кнопок.
У меня есть идея, я должен поместить JButtons в JPanel, а затем манипулировать JPanel, добавляя, удаляя и переопределяя ...
Таким образом, Grid Layout будет эффективнее добавлять каждую панель после каждой, но подумать о переупорядочении порядка будет очень сложно ...
Любые предложения, пожалуйста. :)
После поиска у меня возникает идея:
Давайте поместим эти JButton в JPanel с именем btnsUnit, а затем манипулируем им, добавляя, удаляя и переопределяя ... Так что GridLayout будет эффективным для добавления каждого JPanel после каждого ..
Вот почему я создал новую JPanel, которая будет содержать неизвестное число ListbtnsUnit JPanel, я установил 10 как максимальное число.
Я просто делаю эти шаги, когда ты мне отвечаешь. Я не прибыл, чтобы добавить btnsUnit JPanel в ListbtnsUnit JPanel.
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import java.awt.Color;
import java.awt.GridLayout;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JTextField;
public class setupDeviceList extends JFrame {
private JPanel contentPane;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
setupDeviceList frame = new setupDeviceList();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public setupDeviceList() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 742, 335);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
final JPanel ListbtnsUnit = new JPanel();
ListbtnsUnit.setBackground(Color.RED);
ListbtnsUnit.setBounds(55, 56, 243, 191);
contentPane.add(ListbtnsUnit);
ListbtnsUnit.setLayout(new GridLayout(10, 0));
final JButton btnAdd = new JButton("Add");
btnAdd.setBounds(161, 11, 56, 23);
btnAdd.setVisible(true);
btnAdd.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
final JPanel btnsUnit = new JPanel();
btnsUnit.setBounds(343, 71, 243, 147);
contentPane.add(btnsUnit);
btnsUnit.setBackground(Color.ORANGE);
btnsUnit.setLayout(null);
btnsUnit.add(btnAdd);
ListbtnsUnit.add(btnsUnit);
ListbtnsUnit.revalidate();
ListbtnsUnit.repaint();
}
});
}
}
Пожалуйста, вы можете помочь мне в этом коде.
Мне нужен только первый толчок, чтобы продолжить.