话不多说了,直接上代码。public class MainFrame extends JFrame{
public MainFrame() {
setSize(500, 500);
....
}
}这样把frame设置成了500x500的尺寸
然后在panel类中 g.fillRect(500 - 50, 500 - 50, 50, 50);
表示在frame的最右下角画一个方
问题是:
显示出来的窗口中看不到这个方块,也就是说窗口的大小小于500x500.
然后我把窗口手动的拖大以后,就能看见这个方块出现在500, 500的位置。请问,如何让这个窗口在显示的时候就保证其尺寸是我设置的那个尺寸呢?Javaswing
public MainFrame() {
setSize(500, 500);
....
}
}这样把frame设置成了500x500的尺寸
然后在panel类中 g.fillRect(500 - 50, 500 - 50, 50, 50);
表示在frame的最右下角画一个方
问题是:
显示出来的窗口中看不到这个方块,也就是说窗口的大小小于500x500.
然后我把窗口手动的拖大以后,就能看见这个方块出现在500, 500的位置。请问,如何让这个窗口在显示的时候就保证其尺寸是我设置的那个尺寸呢?Javaswing
package csdn.programbbs_627;import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Panel;class Frame1 extends Frame{
Panel p = new Panel();
public Frame1(){
setLayout(null);
setSize(500, 500);
add(p);
setVisible(true);
}
@Override
public void paint(Graphics g) {
g.fillRect(500 - 50, 500 - 50, 50, 50);
}
}
public class TextFrame {
public static void main(String[] args) {
new Frame1();
}
}
需要考虑边框的宽度。具体宽度是多少,根据不同的系统不同。我在xp和win7上试过,边框大小基本一致,但是还是有数值上的小差别。自己定义几个数值试一下就知道边框的宽度了。