Прежде всего мне нужно добавить цифры, указанные пользователем, в список по имени numberlist. И затем, наконец, добавьте его в список списков с именем listCollection. После этого мне нужно отобразить вывод из спискаCollection Например, скажем, сначала пользователи добавят числа 2,3,4 в список, а затем нажимают . Добавьте список Collection, а затем снова вводит номера 5,6,7,8 и клики Добавить в список Коллекция. Ouput я хочу сделать дисплей являетсяДобавить списки в другой список
Collection1 : 2,3,4
Collection2 : 3,4,5
позволяет просто сказать, что я хочу 2,3,4 в индексе 0 listCollection и 5,6,7 в индексе 1 listCollection.
Вот мой код:
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JFrame;
import static javax.swing.JFrame.EXIT_ON_CLOSE;
import javax.swing.JTextField;
/**
*
* @author sudip
*/
public class JavaApplication1 extends JFrame implements ActionListener {
private JTextField txtNotation;
private JButton btAddlist, btAddNumber, btOutput;
private List<List<Integer>> listCollection;
private History history;
public JavaApplication1() {
initComponents();
listCollection = new ArrayList<List<Integer>>();
}
public void initComponents() {
setSize(400, 500);
setLayout(new FlowLayout(3, 3, 3));
setDefaultCloseOperation(EXIT_ON_CLOSE);
txtNotation = new JTextField("2");
txtNotation.setColumns(20);
txtNotation.setSize(20, 40);
btAddNumber = new JButton("Add Number");
btAddlist = new JButton("Add List to Collection");
btOutput = new JButton("Get");
getContentPane().add(txtNotation);
getContentPane().add(btAddNumber);
getContentPane().add(btAddlist);
getContentPane().add(btOutput);
btAddlist.addActionListener(this);
btAddNumber.addActionListener(this);
btOutput.addActionListener(this);
}
public static void main(String[] args) {
new JavaApplication1().setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
JButton source = (JButton) e.getSource();
List<Integer> numberlist = new ArrayList<>();
int a = Integer.parseInt(txtNotation.getText());
if (source.equals(btAddNumber)) {
System.out.println("Number was added to list");
numberlist.add(a);
} else if (source.equals(btOutput)) {
displayOutput();
} else if (source.equals(btAddlist)) {
System.out.println("Number of list was added to ListCollection");
numberlist.clear();
listCollection.add(numberlist);
}
}
public void displayOutput() {
for (int i = 0; i < listCollection.size(); i++) {
System.out.println("Collection: " + i+1);
for (int j = 0; j < listCollection.get(i).size(); j++) {
System.out.print(listCollection.get(i).get(j) + ", ");
}
}
}
}
Отдельная логика у вас возникли проблемы с графическим пользовательским интерфейсом кода –
5.6.7 не должен быть в индексе 2 listCollection? в то время как вы упоминали как в индексе 1. –
@prashantthakre жаль, что я имел в виду 2,3,4 в индексе 0 и 5,6,7 в индексе 1 –