Почему мое заявление не отображается?
Я новичок, и я написал код, который создает приложение шахматного массива.
При компиляции кода ошибок нет, но как только я успешно компилирую и запускаю приложение, появляется окно приложения, но это просто пустое белое окно.
Что я уже пробовал:
import java.awt.*; import java.awt.event.*; public class Checkboard extends Frame implements ActionListener { //declare variables TextField[] board = new TextField[16]; TextField fieldStart = new TextField(5); TextField fieldStop = new TextField(5); TextField fieldStep = new TextField(5); int start, stop, step; Label LabelStop = new Label("Start"); Label LabelStart = new Label("Stop"); Label LabelStep = new Label("Step"); Button goButton = new Button("Go"); Button clearButton = new Button("Clear"); Panel fieldPanel = new Panel(); Panel checkerPanel = new Panel(); Panel buttonsPanel = new Panel(); public Checkboard() { start = 0; stop = 0; step = 0; this.setLayout(new BorderLayout()); buttonsPanel.setLayout(new FlowLayout()); for(int i = 0; i<16; i++) { board[i] = new TextField(); board[i].setText("" + i); board[i].setEditable(false); checkerPanel.add(board[i]); } checkerPanel.setLayout(new GridLayout(4, 4)); fieldPanel.setLayout(new GridLayout(2, 3)); fieldPanel.add(fieldStart); fieldPanel.add(fieldStop); fieldPanel.add(fieldStep); fieldPanel.add(LabelStart); fieldPanel.add(LabelStop); fieldPanel.add(LabelStep); buttonsPanel.add(goButton); buttonsPanel.add(clearButton); goButton.addActionListener(this); //add windowListener addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } } ); } public void actionPerformed(ActionEvent e) { String arg = e.getActionCommand(); if(arg == "Go") { start = Integer.parseInt(fieldStart.getText()); stop = Integer.parseInt(fieldStop.getText()); step = Integer.parseInt(fieldStep.getText()); if (start < 0 || stop < 0 || step < 0) arg = "clear"; for (int i=0; i<16; i++) board[i].setBackground(Color.magenta); for (int i=start; i<=stop; i=i+step) board[i].setBackground(Color.yellow); } if (arg== "Clear") { fieldStop.setText(""); fieldStart.setText(""); fieldStep.setText(""); for (int i=0; i<16; i++) board[i].setBackground(Color.white); } } public static void main(String[] args) { Checkerboard f = new Checkerboard(); f.setBounds(50, 100, 300, 400); f.setTitle("Checkerboard Array"); f.setVisible(true); } }
Mohibur Rashid
Это вообще компилируется? Ваши имя класса испытательных стендов и вы объявили шахматной доски в главном.
Вам также нужно добавить эту строку в свой конструктор
this.add(fieldPanel);
Member 13652359
Моя беда, я получил 2 файла с одним и тем же кодом.
Теперь я обновлю вопрос с помощью правильного кода.