This question already has an answer here:
The point of origin in my GUI is off by about 25/26 pixels
(1个答案)
3年前关闭。
我开始尝试JFrame,我要完成的第一个任务是使用
我的代码:
请改用paintComponent。
(1个答案)
3年前关闭。
我开始尝试JFrame,我要完成的第一个任务是使用
fillRect()
或drawRect()
方法绘制一个50px的正方形。不幸的是,运行后,程序显示的是矩形而不是正方形。我的代码:
package javaapp;
import java.awt.Graphics;
import javax.swing.JFrame;
public class JavaApp extends JFrame{
public JavaApp() {
setTitle("Voorbeeld");
setSize(250, 250);
setResizable(false);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void paint (Graphics g){
g.fillRect(0, 0, 50, 50);
}
public static void main(String[] args) {
new JavaApp();
}
}
最佳答案
该帧实际上从左上角开始。只需添加一个JPanel并在其上绘画即可。否则,您可以致电setUndecorated(true)
class JavaApp extends JFrame {
public JavaApp() {
setTitle("Voorbeeld");
setSize(250, 250);
setResizable(false);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
add(new JPanel() {
protected void paintComponent(Graphics g) {
g.setColor(Color.BLACK);
g.clearRect(0, 0, getWidth(), getHeight());
g.fillRect(0, 0, 50, 50);
}
});
}
public static void main(String[] args) {
new JavaApp();
}
}
请改用paintComponent。
09-26 20:56