如何使Dialog和它所依附的Frame具有相对位置关系。即如何将d显示在f的中央? 自己又查了一下API,发现dabout.setLocationRelativeTo(f);可以使在f中央显示。但心里有点糊涂。这个对不对呢?swing呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Toolkit toolkit=getDefaultToolkit();Dimension size=toolkit.getScreenSize();frame.setBounds((size.getWidth()-frame.width)/2,(size.getHeight()-frame.height)/2,frame.widhth,frame.height);这样你的窗口肯定是在屏幕中间显示了。 谢谢 lightEIF(苍鹰) !!看我在你的启示下做的对不?是否有更合理的写法?//如何是Frame显示在屏幕中央,以及如何使依附于屏幕的Dialog显示在Frame中央//可以灵活运用import java.awt.*;import java.awt.event.*;public class T implements ActionListener{ Frame f; Button b; Dialog d; Toolkit toolkit; Dimension size; T() { f=new Frame(); b=new Button("d"); d=new Dialog(f,"test",false); b.addActionListener(this); toolkit=Toolkit.getDefaultToolkit(); size=toolkit.getScreenSize(); f.setSize(300,300); f.setBounds((int)(size.getWidth()-f.getWidth())/2,(int)(size.getHeight()-f.getHeight())/2,f.getWidth(),f.getHeight()); f.add(b); f.show(); } public static void main(String[] arg) { T t=new T(); } public void actionPerformed(ActionEvent e) { d.setSize(100,100); d.setBounds((int)(f.getX()+(f.getWidth()-d.getWidth())/2.0),(int)(f.getY()+(f.getHeight()-d.getHeight())/2.0),d.getWidth(),d.getHeight()); d.show(); } } dabout.setLocationRelativeTo(f);是什么意思? public void actionPerformed(ActionEvent e) { d.setSize(100,100); d.setBounds((int)(size.getWidth()-f.getWidth())/2,(int)(size.getHeight()-f.getHeight())/2,d.getWidth(),d.getHeight()); d.show(); } }对话框显示在屏幕的中间就可以了,因为你窗口也在屏幕中间,对话框自然就在窗口的中间了,不用和窗口联系太紧,如果你的窗口大小比对话框要小的时候会出现什么问题? 怎么实现,java读1G以上的txt文件并快速入库? 高分求教什么是链表,谢谢各位!(终于可以给高分了,呵呵~~~) j2se项目中如何保存用户的临时信息? 关于java内存溢出!aix系统显示错误帮忙解释 关于数组转型的问题 问个小白问题..关于类的.. 中文输入和显示问题!!! javabeans时不是就是vb中放的控件 我用jdk1.3编译Serlet,出现的编译错误是javax.serlet.*等找不到,该如何解决?请指教! 旧话重提,关于RMI? java新手问问题。。。。 有关多线程,消费者和生产者的问题
Dimension size=toolkit.getScreenSize();
frame.setBounds((size.getWidth()-frame.width)/2,(size.getHeight()-frame.height)/2,frame.widhth,frame.height);
这样你的窗口肯定是在屏幕中间显示了。
看我在你的启示下做的对不?是否有更合理的写法?
//如何是Frame显示在屏幕中央,以及如何使依附于屏幕的Dialog显示在Frame中央
//可以灵活运用
import java.awt.*;
import java.awt.event.*;
public class T implements ActionListener
{
Frame f;
Button b;
Dialog d;
Toolkit toolkit;
Dimension size;
T()
{
f=new Frame();
b=new Button("d");
d=new Dialog(f,"test",false);
b.addActionListener(this);
toolkit=Toolkit.getDefaultToolkit();
size=toolkit.getScreenSize();
f.setSize(300,300);
f.setBounds((int)(size.getWidth()-f.getWidth())/2,(int)(size.getHeight()-f.getHeight())/2,f.getWidth(),f.getHeight());
f.add(b);
f.show();
}
public static void main(String[] arg)
{
T t=new T();
}
public void actionPerformed(ActionEvent e)
{
d.setSize(100,100);
d.setBounds((int)(f.getX()+(f.getWidth()-d.getWidth())/2.0),(int)(f.getY()+(f.getHeight()-d.getHeight())/2.0),d.getWidth(),d.getHeight());
d.show();
}
}
{
d.setSize(100,100);
d.setBounds((int)(size.getWidth()-f.getWidth())/2,(int)(size.getHeight()-f.getHeight())/2,d.getWidth(),d.getHeight());
d.show();
}
}
对话框显示在屏幕的中间就可以了,因为你窗口也在屏幕中间,对话框自然就在窗口的中间了,不用和窗口联系太紧,如果你的窗口大小比对话框要小的时候会出现什么问题?