基本概念!
屏幕分辨率:以pixel为单位的屏幕面积,如800*600
位深:显示颜色数量。如8位有256色,16位有65536色
刷新率:单位hz
有用的对象!
window对象:代表屏幕内容,可看作绘图的画布,如jframe就是window的子类
displaymode对象:用来指定屏幕分辨率,位深和刷新率
graphicsdevice对象:用来改变显示属性,可看作操纵显卡的界面,由graphicsenvironment对象取得
一个将jframe放至全屏的例子!
import java.awt.*;
import javax.swing.jframe;
//先把三个对象准备好
jframe jf=new jframe();
displaymode displaymode=new displaymode(800,600,16,75);
graphicsdevice device=graphicsenvironment.getlocalgraphicsenvironment().getdefaultscreendevice();
//jframe至全屏
device.setfullscreenwindow(jf);
//改变显示方式
device.setdisplaymode(displaymode);
//退出全屏
device.setfullscreenwindow(null);
//想让效果更好一点,可以改变jframe的显示方式。如:
jf.setundecorated(true);
jf.setresizable(false);
//另外,一般在改变显示方式时需要加上必要的判断和捕获异常,像这样:
if (device.isdisplaychangesupported()){
try {
device.setdisplaymode(displaymode);
}catch (illegalargumentexception ex) {}
}
//显示个helloworld试试?在一个jframe里加上:
public void paint(graphics g) {
g.drawstring("hello world!", 20, 50);
}
//文字可以用java.awt.graphics2d类抗锯齿!
public void paint(graphics g) {
if(g instanceof graphics2d){
graphics2d g2d=(graphics2d)g;//graphics2d是graphics的子类
//抗锯齿,绘制质量等可参考renderinghints类的文档!
g2d.setrenderinghint(renderinghints.key_text_antialiasing,renderinghints.value_text_antialias_on);
}
g.drawstring("hello world!", 20, 50);
}
差不多了,下篇写绘制图形!