Я новичок в java программировании свинга. То, что я пытаюсь сделать, это нарисовать строку в указанное c местоположение в JPanel. JPanel очень большой, поэтому я добавляю его в JScrollpane, но когда я рисую строку, она печатается не только в указанном месте, но и в других. Первое изображение представляет нижнюю часть панели, где я решил нарисовать строку, и это правильно. Но если вы наблюдаете всю панель, вы можете найти строку и в других местах (см. Второе изображение). Может кто-нибудь сказать мне, почему это произошло? Как я могу предотвратить это?
import java.util.*;
import java.io.*;
import javax.swing.*;
import java.awt.*;
class Example extends JFrame
{
private MyPanel gg=new MyPanel();
Example(){
add(new JScrollPane(gg));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setExtendedState(MAXIMIZED_BOTH);
}
public static void main(String argv[]){
EventQueue.invokeLater(new Runnable() {
public void run() {
Example test=new Example();
test.setVisible(true);
}
});
return;
}
}
class MyPanel extends JPanel
{
public void paintComponent(Graphics g){
super.paintComponent(g);
Graphics2D g2d=(Graphics2D)g;
g2d.drawString("HI I LOVE ELON MUSK", 90, 300035);
return;
}
public Dimension getPreferredSize() {
return new Dimension(500, 300060);
}
}