У меня возникла проблема с правильной работой этого кода. Он компилируется, и изначально кадр отображается правильно. Проблема в том, что когда я вручную изменяю размер кадра путем максимизации или путем перетаскивания стороны кадра, текст исчезает. Я использую jGRASP, не уверен, что это проблема или нет. Мне кажется, этот код имеет смысл, и, как я уже сказал, он компилируется (я знаю, что это не обязательно правильно). Я все еще новичок в этом, поэтому, если кто-нибудь может указать мне в правильном направлении, я был бы очень благодарен.JAVA, отображение фраз при увеличении размеров шрифта в кадре
import javax.swing.*;
import java.awt.*;
public class JFontSizes extends JFrame {
int x = 5;
int y = 50;
String homework = "This is the first homework assignment";
public JFontSizes() {
super("Increasing Font Sizes");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void paint(Graphics brush) {
super.paint(brush);
// This works sometimes. I am not sure if it is a jGRASP issue or something else.
// If I resize the frame, the text disappears, and I cannot get the text to start at the top of the frame
for(int n = 6; n<= 20; ++n) {
brush.setFont(new Font("Serif", Font.PLAIN, n));
brush.drawString(homework, x, y);
y += 15;
}
}
public static void main(String[] args) {
JFontSizes frame = new JFontSizes();
frame.setSize(400, 500);
frame.setVisible(true);
}
}
Как правило, не рекомендуется рисовать непосредственно на рамке, вместо этого использовать «JPanel» и использовать его для выполнения вашей пользовательской графики путем переопределения метода 'paintComponent', см. [Выполнение пользовательской живописи] (http://docs.oracle) .com/javase/tutorial/uiswing/painting /) для получения более подробной информации – MadProgrammer