Я хотел бы извиниться заранее за написание этого кода на эстонском языке, а не на английском языке. Я начинаю на Java (2-3 часа опыта до сих пор). Я пытаюсь написать код для настраиваемой таблицы шахмат. (Размер настраиваемый) До сих пор я мог писать код для таблицы, но у меня проблема с его раскраской. Как мне покрасить таблицу в соответствии с правильными цветами шахматной таблицы? упаковка эзимен;Таблица шахмат Java
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JCheckBox;
import javax.swing.JColorChooser;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Joonistame4 extends JComponent implements ActionListener{
int suurus = 10;
int korgus = 10;
int x = 50;
int y = 50;
JTextField tf = new JTextField(String.valueOf(suurus));
JTextField tf2 = new JTextField(String.valueOf(korgus));
JColorChooser varvivalik = new JColorChooser();
JPanel p = new JPanel(new GridLayout(3,2)); //rida , veerg
JCheckBox cb = new JCheckBox();
public Joonistame4(){
setLayout(new BorderLayout());
p.add(new Label("suurus: "));
p.add(tf);
add(p, BorderLayout.SOUTH);
//add(varvivalik, BorderLayout.EAST);
tf.addActionListener(this);
cb.addActionListener(this);
varvivalik.setPreviewPanel(new JPanel());
}
public void paintComponent(Graphics g){
int suurus_kokku = 8*suurus;
g.setColor(Color.BLUE);
for(int x = suurus; x < suurus_kokku; x = x+suurus) {
for(int y = suurus; y < suurus_kokku; y = y+suurus) {
if(cb.isSelected()){
g.fillRect(50, 50, suurus, suurus);
}else{
g.drawRect(50+y, 50+x, suurus, suurus);
}
}
}
}
public static void main(String[] args) {
JFrame aken = new JFrame("Esimene aken");
aken.setSize(600, 600);
aken.getContentPane().add(new Joonistame4());
aken.setVisible(true);
aken.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent arg0) {
suurus = Integer.parseInt(tf.getText());
repaint();
}
}
Пожалуйста, размещайте только интересующие детали. – Maroun
имя переменные english please –
Вы можете использовать 'setColor' несколько раз. – johnchen902