Я хочу сделать рисование в JPanel, но размер вложенного JFrame, кажется, не совпадает с тем местом, где я попросил нарисовать координаты.
В моем примере кода установлен размер JFrameдо (700, 700) и последняя точка рисуется в (600, 600).Я ожидаю, что эта точка будет отрисована на 100 пикселей от правого и нижнего краев, но это не так (см. Скриншот).
![alt text](https://lh5.googleusercontent.com/s7ZvJ2IP1IIBVsiHrCkqk8fqsLlkZ6XX3Eo6qMuWgwIVn_v8CEJME-J206hDBOjXsTPEyPWb63dZkvcpow1BCJ2p8A=s512)
Вот код, который я использую:
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Scratch extends JPanel {
static int frameWidth = 700;
static int frameHeight = 700;
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setSize(frameWidth, frameHeight);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Scratch scratch = new Scratch();
frame.getContentPane().add(scratch);
frame.setVisible(true);
}
@Override
public void paintComponent(Graphics g) {
g.drawRect(100, 100, 1, 1);
g.drawString("100", 100, 100);
g.drawRect(200, 200, 1, 1);
g.drawString("200", 200, 200);
g.drawRect(300, 300, 1, 1);
g.drawString("300", 300, 300);
g.drawRect(400, 400, 1, 1);
g.drawString("400", 400, 400);
g.drawRect(500, 500, 1, 1);
g.drawString("500", 500, 500);
g.drawRect(600, 600, 1, 1);
g.drawString("600", 600, 600);
}
}