Java GUI设计第5篇:对窗口进行设置
在本篇中,我们将对窗口的一些基本属性进行设置。
1.对标题的设置
在我们平时所使用的窗口程序中,通常在标题栏中都会有标题,标题一般在窗口的左上方显示。
JFrame中,有一个方法可以设置标题,那就是setTitle()。
以下的程序,可以给我们的窗口设置一个标题。假如我们要设置的标题为"Java",那么我们只要以下的程序即可。
package teach5;
import javax.swing.JFrame;
public class F1 extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
public F1() {
this.setTitle("Java");//给窗口设置标题
//也可以用super("Java");
this.setSize(400, 300);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
F1 f=new F1();
f.setVisible(true);
}
}
效果:
这样就给窗口设置了标题。
2.设置窗口能否改变大小
这里所谓的能否改变大小,指的就是能否通过拉动窗口的边框改变大小。
比如,windows7系统自带的计算器就是一个例子,它不能通过拉动窗口的边框改变大小。如图:
可以看到,窗口右上方中间的最大化按扭是灰色的,并且将鼠标放到窗口边框时,鼠标指针不会变成双向箭头。这样,也就意味着不能改变大小。但不是真的不能改变大小,将计算器设置为其他类型的时候就可以改变大小。
在Java中如何设置呢?
package teach5;
import javax.swing.JFrame;
public class F1 extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
public F1() {
this.setTitle("Java");//给窗口设置标题
//也可以用super("Java");
this.setResizable(false);//将窗口设置为不可改变大小
this.setSize(400, 300);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
F1 f=new F1();
f.setVisible(true);
}
}
效果:
可以看到最大的按扭变灰了。
3.设置是否总是在最上方
窗口总是在最上方,就是当其他的窗口放置到这个窗口上方时,会被这个窗口覆盖,从而使这个窗口总是在屏幕的最上方。我们也可以设置:
package teach5;
import javax.swing.JFrame;
public class F1 extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
public F1() {
this.setTitle("Java");//给窗口设置标题
//也可以用super("Java");
this.setResizable(false);//将窗口设置为不可改变大小
this.setAlwaysOnTop(true);//设置窗口总是在最上方
this.setSize(400, 300);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
F1 f=new F1();
f.setVisible(true);
}
}
效果:
将计算器拖到Java上,Java这个窗口仍然在上方。
4.设置有无标题栏
在我们使用的一些软件中,有的程序的标题栏是和系统程序的不一样的,比如酷我音乐。
这样的窗口是没有标题栏的,这里的标题栏就是自己创建的一些按扭。这样的设计通常是为了让窗口美观,去掉了系统的标题栏。
设置为没有标题栏,也很简单,只要一个语句即可:
package teach5;
import javax.swing.JFrame;
public class F2 extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
public F2() {
this.setSize(400, 300);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setUndecorated(true);
}
public static void main(String[] args) {
F2 f=new F2();
f.setVisible(true);
}
}
效果:
这样就实现了没有标题栏。
有的人就会问:怎么移动窗口呢?怎么关闭呢?这就需要涉及到响应用户事件了。现在我们可以使用结束进程的方法来关闭,或者是在任务栏中点击鼠标右键,再点击“关闭窗口”。