我想在 JPanel 中绘制一个具有原始窗口 80% 宽度和 80% 高度的矩形。
这是我的驾驶员课程
public class driver {
public static void main(String[] args) {
System.out.println("test");
Window myWindow = new Window();
myWindow.add(new GraphPanel());
myWindow.settings();
}
}
这是我的 JPanel:
import javax.swing.*;
public class Window extends JFrame {
private static final int width = 1100;
private static final int height = 600;
public void settings(){
setSize(width,height);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
}
public static int[] getWindowSize(){
int[] output = new int[]{width, height};
return output;
}
}
和矩形画布:
import java.awt.*;
public class GraphPanel extends Canvas {
public void paint(Graphics g){
setBackground(Color.WHITE);
setForeground(Color.DARK_GRAY);
int[] windowSize = Window.getWindowSize();
//Not working as intented
g.drawRect(windowSize[0]/10, windowSize[1]/10, 8*windowSize[0]/10, 8*windowSize[1]/10);
}
}
这是结果,我无法发布图像,所以这里有一个链接 https://i.stack.imgur.com/VlQIk.png
正如你所看到的,这显然没有居中,高度偏离了大约 30 像素,宽度偏离了大约 20 像素。我不知道这是怎么发生的,所以我的问题是,有谁知道这可能是什么原因造成的?
繁花不似锦
相关分类