Clown10101010 发表于 2017-4-22 17:12:59

Java图形定位问题

求大神们帮忙,本来是将设计的窗口定位在屏幕中间位置,但结果却是错误的,为什么呢?{:5_94:}   新手上路,请多关照

代码如下:
import java.awt.Button;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.Label;
import java.awt.Panel;
import java.awt.TextField;
import java.awt.Toolkit;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class JIAFA {

        public static void main(String[] args) {
                ASD a = new ASD();
                a.setVisible(true);

        }

}

class ASD extends Frame {
        Panel p = new Panel();
        Label l = new Label("+");
        TextField t1 = new TextField(6);
        TextField t2 = new TextField(6);
        TextField t3 = new TextField(6);
        Button b = new Button("=");

        public ASD() {
                setSize(300, 300);

                setResizable(false);
                Toolkit tk = getToolkit();
                Dimension d = tk.getScreenSize();
                int screenWidth = d.width;
                int screenHeight = d.height;

                setLocation((screenHeight - 300) / 2, (screenWidth - 300) / 2);

                p.add(t1);
                p.add(l);
                p.add(t2);
                p.add(b);
                p.add(t3);
                add(p);
                addWindowListener(new WindowAdapter() {

                        public void windowClosing(WindowEvent e) {
                                System.exit(0);
                        }
                });
        }
}

零度非安全 发表于 2017-4-22 20:08:50

请将 setLocation((screenHeight - 300) / 2, (screenWidth - 300) / 2) 改为如下:

setLocation( (screenWidth - 300) / 2,(screenHeight - 300) / 2)

Clown10101010 发表于 2017-4-23 07:27:59

零度非安全 发表于 2017-4-22 20:08
请将 setLocation((screenHeight - 300) / 2, (screenWidth - 300) / 2) 改为如下:

setLocation( (scre ...

额,感觉自己是个智障,感谢大神的回答,打扰大神了。{:5_106:}
页: [1]
查看完整版本: Java图形定位问题