Я новичок в этом мероприятии с действием и прослушиванием действий (нажатие мыши). Я использовал это в своем коде:Отображение информации о Jpanel
// This is the single event handler for all the buttons
public void actionPerformed(ActionEvent e) {
JButton selectedBtn = (JButton) e.getSource();
for (int row = 0; row < buttons.length; row++) {
for (int col = 0; col < buttons[row].length; col++) {
if (buttons[row][col] == selectedBtn) {
moves++; //incrementing the moves
System.out.printf("moves: %d%n", moves);
System.out.printf("Selected row: %d%n", row+1);
System.out.printf("Selected column: %d%n", col+1);
}
}
}
Этот фрагмент кода отображает правильные строки и столбцы кнопки. но то, что я пытаюсь сделать, это то, что я пытаюсь отобразить эту информацию перед своими Jlabels.
т.е. если кнопка нажата, и он лежит на колонке 4 строки 2, и он должен показать, как это:
вместо этого он показывает, как это в консоли вывода:
moves: 1
Selected row: 3
Selected column: 4
любые идеи о том, как изменить эти Jlabels, чтобы эта информация отображалась на них?
это мои JLabels
//labels
JLabel label1 = new JLabel("COL: ");
label1.setLocation(10,260);
label1.setSize(100,100);
add(label1);
JLabel label2 = new JLabel("ROW: ");
label2.setLocation(10,280);
label2.setSize(100,100);
add(label2);
любая помощь будет оценена :)
Непонятно, в чем именно вы нуждаетесь. Если вам просто нужно отобразить эти значения в кадре, вы можете использовать отдельные JLabels для значений, а затем обновить их в actionPerformed event или использовать для него не редактируемые JTextFields. –
['JLabel # setText'] (https://docs.oracle.com/javase/8/docs/api/javax/swing/JLabel.html), вы также можете взглянуть на [Как использовать ярлыки ] (http://docs.oracle.com/javase/tutorial/uiswing/components/label.html). Помните, что вам, вероятно, понадобятся ярлыки для полей экземпляра класса, чтобы иметь возможность их модифицировать. – MadProgrammer
@Arsal Abbas Вы спрашиваете, как отображать текст в JLabels? – user3437460