Я новый программист на Java, и у меня есть код, в котором я пытаюсь улучшить пользовательский интерфейс, добавляя кнопки.По сути, прямо сейчас код принимает список массивов и позволяет пользователю делать с ним много вещей.Пользователь может добавлять элементы в список массивов, удалять элементы из списка массивов, устанавливать элементы по определенному индексу в списке массивов, печатать элементы в списке массивов и получать элемент по определенному индексу в массиве.В значительной степени это позволяет пользователю взаимодействовать со списком массивов некоторыми базовыми способами, используя базовые функции списка массивов (.add, .remove и т.выполните одно из этих действий (то есть введите 1, чтобы напечатать элементы в массиве), но я пытаюсь сделать так, чтобы функции работали с кнопками.Я изучал, как кнопки и слушатели действий работают в течение последнего часа или около того, и я подумал, что хорошо разбираюсь в этом, но столкнулся с проблемой.Я запускаю свой код, и мои кнопки не отображаются, поэтому я не понимаю, почему это происходит.
Вот самая важная часть моего кода:
import java.io.*;
import java.util.ArrayList;
import java.util.Scanner;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class test
{
public static void main (String arg[]) throws IOException {
// * Main Variable Declaration (with any Initialization)
//
ArrayList<String> List = new ArrayList<String>();
boolean continueThisApp = true;
int userInput_MenuChoice;
Scanner scanner = new Scanner(System.in);
// * Main Code
//
while( continueThisApp )
{
// * Menu of Choices
//
JFrame frame = new JFrame();
JButton b1 = new JButton();
JButton b2 = new JButton();
JButton b3 = new JButton();
JButton b4 = new JButton();
JButton b5 = new JButton();
JButton b6 = new JButton();
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
print(items_ObsInArrLst);
}
});
b2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
add(items_ObsInArrLst);
}
});
b3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
remove(items_ObsInArrLst);
}
});
b4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
get(items_ObsInArrLst);
}
});
b5.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
set(items_ObsInArrLst);
}
});
b6.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("*** Thanks for Trying our App. :)");
}
});
frame.setSize(1000, 1000);
//b1
b1.setVisible(true);
b1.setText("Print elements");
frame.setLayout(new FlowLayout());
frame.add(b1);
//b2
b2.setVisible(true);
b2.setText("Add elements");
frame.add(b2);
//b3
b3.setVisible(true);
b3.setText("Remove elements");
frame.add(b3);
//b4
b4.setVisible(true);
b4.setText("Get elements");
frame.add(b4);
//b5
b5.setVisible(true);
b5.setText("Set elements");
frame.add(b5);
//b6
b6.setVisible(true);
b6.setText("Quit");
frame.add(b6);
// NOTE THAT THIS PART (THE OLD WAY WE DID IT) IS COMMENTED OUT
/*if( userInput_MenuChoice == 1 ){
print_Items_ObsInArrLst_Mth(items_ObsInArrLst);
}
else if( userInput_MenuChoice == 2 ){
scannerInputTo_AddLst_Mth (items_ObsInArrLst);
}
else if( userInput_MenuChoice == 3 ){
scannerInputTo_RemoveLst_Mth (items_ObsInArrLst);
}
else if( userInput_MenuChoice == 4 ){
scannerInputTo_GetLst_Mth (items_ObsInArrLst);
}
else if( userInput_MenuChoice == 5 ){
scannerInputTo_SetLst_Mth (items_ObsInArrLst);
}
else if( userInput_MenuChoice == 9 ){
continueThisApp_Bool = false;
System.out.println("*** Thanks for Trying our App. :)");
}
else{
System.out.println("*** Invalid Menu Choice. Retry.");
} */
}
}
Функции внутри слушателей действий работают как надо, но сами кнопки для меня не отображаются.Я спрашиваю, знает ли кто-нибудь, почему кнопки не появляются.Я уверен, что есть другие проблемы с моим кодом, но я, вероятно, могу исправить их, если я знаю, почему кнопки не появляются.Если это помогает, я в настоящее время использую BlueJ.
tl; dr - я внедрил кнопки в свой код, но они не появляются, когда я запускаю код.