Я разрабатываю Java-приложение .
Я создал этот интерфейс с помощью MockupScreens . Пожалуйста, посмотрите на эти изображения.
Сначала есть только один элемент, пользователь должен ввести информацию (заголовок и описание), затем он начинает добавлять элементы по мере необходимости. Он может редактировать элементную информацию в любое время. Он также может удалить или изменить порядок этих элементов ...
Как мне сделать, чтобы создать что-то вроде картинок вверх ?????
Заранее спасибо. С уважением,
Я знаю эти части в Java Swing. Моя проблема в том, как динамически вставлять этот блок кнопок.
Я понял, я должен поместить JButtons в JPanel, а затем манипулировать JPanel, добавляя, удаляя и переупорядочивая ... Таким образом, сетка будет эффективна для добавления каждой панели после каждой, но думать о изменении порядка будет так сложно ...
Любые предложения, пожалуйста. :)
После поиска у меня возникла идея:
Давайте поместим эти JButtons в 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();
}
});
}
}
Пожалуйста, не могли бы вы помочь мне с этим кодом. Мне нужен только первый толчок.