Хорошо, я пытаюсь выполнить упражнение из книги, которую я использую для изучения Java.Вот код, который у меня есть до сих пор:
import javax.swing.*;
import java.awt.GridLayout;
import java.awt.BorderLayout;
public class Calculator {
//Declaration of all calculator's components.
JPanel windowContent;
JTextField displayField;
JButton button0;
JButton button1;
JButton button2;
JButton button3;
JButton button4;
JButton button5;
JButton button6;
JButton button7;
JButton button8;
JButton button9;
JButton buttonPoint;
JButton buttonAdd;
JButton buttonEqual;
JPanel pl;
//Constructor creates the components in memory and adds the to the frame using combination of Borderlayout.
Calculator() {
windowContent= new JPanel();
// Set the layout manager for this panel
BorderLayout bl = new BorderLayout();
windowContent.setLayout(bl);
//Create the display field and place it in the North area of the window
displayField = new JTextField(30);
windowContent.add("North",displayField);
//Create button field and place it in the North area of the window
button0=new JButton("0");
button1=new JButton("1");
button2=new JButton("2");
button3=new JButton("3");
button4=new JButton("4");
button5=new JButton("5");
button6=new JButton("6");
button7=new JButton("7");
button8=new JButton("8");
button9=new JButton("9");
buttonAdd=new JButton("+");
buttonPoint = new JButton(".");
buttonEqual=new JButton("=");
//Create the panel with the GridLayout that will contain 12 buttons - 10 numeric ones, and button with the points
//and the equal sign.
pl = new JPanel ();
GridLayout gl =new GridLayout(4,3);
pl.setLayout(gl);
//Add window controls to the panel pl.
pl.add(button1);
pl.add(button2);
pl.add(button3);
pl.add(button4);
pl.add(button5);
pl.add(button6);
pl.add(button7);
pl.add(button8);
pl.add(button9);
pl.add(buttonAdd);
pl.add(buttonPoint);
pl.add(buttonEqual);
//Add the panel pl to the center area of the window
windowContent.add("Center",pl);
//Create the frame and set its content pane
JFrame frame = new JFrame("Calculator");
frame.setContentPane(windowContent);
//set the size of the window to be big enough to accomodate all controls.
frame.pack();
//Finnaly, display the window
frame.setVisible(true);
}
public static void main(String[] args) {
Calculator calc = new Calculator();
}
}
Вот упражнение в точной формулировке:
Измените класс Calculator.java, чтобы сохранить все цифровые кнопки в 10.-элементный массив объявлен следующим образом:
Buttons[] numButtons= new Buttons[10];
Заменить 10 строк, начинающихся с
button0=new JButton("0");
, на цикл, который создает кнопкии сохраните их в этом массиве.
Хорошо, поэтому я попытался объявить массив с Buttons[] numbuttons line
, но это просто дало мне ошибку:
Несколько маркеров вэта строка
-Кнопки не могут быть разрешены к типу
-Кнопки не могут быть разрешены к типу
Я вместо этого попробовал это:
JButton[] buttons = new JButton[10]
Изатем добавил каждую кнопку в массив следующим образом:
buttons[0] = "button0";
Когда я объявил массив, это не выдало ошибку, но когда я написал строку buttons[0]
, я получил эту ошибку:
Синтаксическая ошибка на "кнопках" токена, удалите этот токен
Итак, мне нужна помощь, чтобы понять, как это сделать этот.Кроме того, книгу можно найти здесь: http://myflex.org/books/java4kids/JavaKid811.pdf, и практика находится на странице 73. Я прошу прощения, если я перечисляю много информации.Это просто потому, что я очень плохо знаком с Java и не уверен, что нужно.Помощь приветствуется.Спасибо.