Não é algo que me atrapalhe no desenvolvimento mas incomoda.
Estou criando um JFrame que contem o jogo em sí, porem ao pintar o conteúdo na janela, aparentemente o alinhamento no topo a esquerda, fica embaixo da borda da janela criada pelo windows.
Segue uma imagem de exemplo e código que constrói a janela.
Aparentemente, na sua função de desenho “render()” você está usando a janela do JFrame como base. O problema é que o tamanho da janela inclui as bordas da tela e a barra de títulos (onde está escrito “Jogo da Velha” e onde ficam os botões “Minimizar”, “Maximizar” e “Fechar”. Se você vai desenhar diretamente sobre o JFrame, precisa descontar o espaço usado por esses elementos. Esse espaço é determinado pelos Insets do seu JFrame, e você precisa adicioná-lo a seu desenho.
Agora, sobre seu jogo, recomendo algumas alterações que poderão te facilitar e muito a vida:
ao invés de desenhar diretamente num JFrame, crie uma classe que estenda um JPanel e desenhe sobre ela sobrescrevendo o método paintComponent(Graphics g);
use Java 2D. Com isso, você ganha muito mais recursos, como antialias (deixa o desenho mais suave);
Há toneladas de exemplos de uso de Java2D, inclusive aqui no Guj e no Ponto V.