窗体程序,
1.new JFrame 添加相关属性,设置大小,关闭时退出,可见,位置
public class MyFrame {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setSize(Toolkit.getDefaultToolkit().getScreenSize());//工具类设置窗体的大小设为屏幕的大小
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭时退出
frame.setLocationRelativeTo(null);//设置居中
frame.setResizable(false);
//设置窗体没有标题栏,最大化,最小化
frame.setUndecorated(true);
//设置窗体总在屏幕最上面
frame.setAlwaysOnTop(true);
MyPanel panel = new MyPanel();
frame.add(panel);
//窗体显示时,若窗体上有面板,则会自动调用执行面板的paint方法
//而paint方法执行过程中,又会用依次按顺序调用paintcomponent(绘制面板自身),paintBorder(绘制面板边框)
//paintChilren(绘制面板上添加的子控件,如按钮等)这种绘制顺序
//是为了确保子控件在面板的最上方
frame.setVisible(true);}
}
2.设置面板显示
首先设置好标签的位置,定为 每列6个标签,供抽签的标签在最下方
设置一个JLabel字符串数组和一个字符串,分别表示上面显示的标签和下面显示的随机的标签,
setLayout(null);//没有布局,由自己布null局
lbliterms = new JLabel[totalltems];
for(int i = 0;i<lbliterms.length;i++){
lbliterms[i] = new JLabel();
lbliterms[i].setFont(new Font("微软雅黑",Font.BOLD,30));
lbliterms[i].setForeground(Color.blue);
this.add(lbliterms[i]);
lbliterms[i].setBounds(250+(i/6)*700, 200+(i%6)*70, 600, 40);//一列六个,宽高
}
lblRandltem = new JLabel();
lblRandltem.setFont(new Font("微软雅黑",Font.BOLD,40));
this.add(lblRandltem);
lblRandltem.setBounds(500, 800, 600, 40);
添加背景图片
1.初始化图片
2.在paintComponent中画背景
protected void paintComponent(Graphics g) {
// TODO Auto-generated method stub
super.paintComponent(g);//调用父类的方法
//System.out.println("this is the test....");
//Image img = Toolkit.getDefaultToolkit().getImage("lufei.gif");//工具
//各参数的含义;img 图片 0,0代表图片的左上角的 坐标,240,320代表图片的宽高
//最后一个参数,表示图片在加载过程中发生变化,通知谁
// g.drawImage(img,0,0,240,320,this);//按图片本身实际大小画
// g.drawImage(img,0,0,240/2,320/2,this);//缩小比例画
//g.drawImage(img,0,0,397,370,this);//不按比例画
Image img_bg = Toolkit.getDefaultToolkit().getImage("bg.jpg");
//画背景图片
g.drawImage(img_bg,0,0,Toolkit.getDefaultToolkit().getScreenSize().width,Toolkit.getDefaultToolkit().getScreenSize().height,this);
}