我正在制作一个简单的 Java Swing GUI 棋盘,玩家可以在其中拖放棋子。问题是,由于框架周围的边框(标题在顶部,最大化/最小化/关闭按钮等),坐标偏斜 - (0, 0) 是左上角框架,即 X 按钮上方一点,但 GUI 开始在标题栏下方自行构建,因此 GUI 与坐标不对齐,事情最终不会按应有的方式工作。此外,例如,当我将框架的大小设置为 100 x 100 时,我的 GUI 的下部和一些右侧部分被切断,因为框架没有补偿其边框。当我将它作为小程序运行时,我没有这个问题,但我不想那样做。
sscce:
import java.awt.Point;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
public class class1 extends JFrame{
public class1(){
addMouseListener(new MouseAdapter(){
public void mousePressed(MouseEvent evt){
System.out.print(evt.getPoint());
}
});
}
public static void main(String[] args){
class1 c = new class1();
c.setTitle("Test");
c.setSize(320, 320);
c.setLocationRelativeTo(null);
c.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
c.setVisible(true);
}
}