Я пишу программу в java swt, которая играет tic tac toe, и я не могу найти способ отображения изображения с помощью x или o над кнопкой без использования метода button.setImage (image). Когда я это делаю, изображение становится серым, и я не хочу этого. Есть ли способ сделать это, когда я нажимаю кнопку, кнопка становится отключенной и изображение отображается над ней, или я могу хотя бы сделать кнопку не серой, когда она отключена?Отображать изображение с отключенной кнопкой, без изображения с серым цветом?
Также следует отметить, что я использую SWT для своего графического интерфейса.
Вот часть кода у меня возникают проблемы с, если это любая помощь:
public static void drawX(Button b, Shell s, Image x){ //draws an X image
int topLeft_X=b.getLocation().x;
int topLeft_Y=b.getLocation().y;
GC gc = new GC(b);
gc.drawImage(x, topLeft_X, topLeft_Y);
}
public static void drawO(Button b, Shell s, Image o){ //draws an O image
int topLeft_X=b.getLocation().x;
int topLeft_Y=b.getLocation().y;
GC gc = new GC(b);
gc.drawImage(o, topLeft_X, topLeft_Y);
}
static double turnCount = 1;
public static void button(final Button b, final Shell s, final int i, final int j, final Image g, final Image h){ //the method that would make the image appear
b.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent e) {
b.setEnabled(false);
turnCount++;
if(p1()){
a[i][j]++;
drawX(b, s, g);
b.setVisible(false);
}
else{
a[i][j]--;
drawX(b, s, h);
b.dispose();
}
}
public void widgetDefaultSelected(SelectionEvent e) {
}
});
}
Возможно, есть способ сделать это, я не знаю, но альтернативой было бы удалить/скрыть кнопку и поместить в нее «JLabel». – twain249