Java编写山寨QQ中遇到的各种问题---登陆界面

    刚接触JAVA不久,在编写过程中总会遇到各种各样的问题,怕自己一转身又给忘了,还是记录下来吧!方便以后再捡起来复习复习。等以后技术成熟了,也可以回来看看。

    以后要是再来看自己现在写的代码,可千万不要笑话自己呀!哈哈偷笑


    首先放出QQ原图,和我做出来的效果图:

                        原界面

   

                        仿界面

    

    头像只是个背景!


    一、下面是编写过程中到的一些问题,以及解决办法。

    Q1:怎么样做到,在容器中定位组件能像在做网页一样随意的定位?

    A:利用setBounds(x,y,width,height); x:组件在容器X轴上的起点 ;y:组件在容器Y轴上的起点; width:组件的宽度 ;height:组件的高度;最后取消掉容器的布局

		jp2.add(jb);
		jb.setBounds(138, 105, 194,30);
		
		jp2.setLayout(null);
    

    Q2:JFrame中如何设置背景图片?

    A:需要重写paint()方法,值得注意的是不能直接重写JFrame的paint()方法因为这个方法没有使用二次缓存机制所以在paint的时候,会把内部的组件盖住。所以要弄一个panel,把其他组件放在这个panel上,然后重写这个panel的paintComponent方法。

     直接重写会造成Java的组件不显示,只有鼠标移上去或者是点击之后,组件才会显现出来。


class MyPanel extends JPanel
	{
	    protected void paintComponent(Graphics g) 
	    {
	        super.paintComponent(g);
	        g.drawImage(northImage.getImage(), 0, 5, this);
	
	    }
	}
	
	class MyPanel2 extends JPanel
	{
	    protected void paintComponent(Graphics g) 
	    {
	        super.paintComponent(g);
	    	g.drawImage(backGround.getImage(), 0, 4, this);
	    }
	}


   二、关于设置swing皮肤

      我用的是windows风格的皮肤,只需要在main方法中加入以下代码即可:

try{
		     javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");          
		     }catch(Exception e){
		            e.printStackTrace();
		     }

更多皮肤的使用方法,还在研究中...



猜你喜欢

转载自blog.csdn.net/l4642247/article/details/42219623