`
什么世道
  • 浏览: 219453 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

初次接触JAVA小小的感受

阅读更多

时光飞逝,转眼之间大学时光已经走尽将半。这段时间,自己对JAVA的学习重拾了自己以前的学习激情,大一下个学期学校开设了C++课程,教的并不是很深,然后自己也很少往深处钻研,类与对象和文件那块没有学好,其他知识还是比较拿手的;然后大二上个学期为了过计算机二级C语言(由于类和对象没学好,一不做,二不休就报了C语言 ),在已有C++基础上自学了C语言。最近接触到蓝杰这块跟着老师的脚步刚开始学习JAVA,由于有以前的基础,学的时候就很得心应手。学到图形界面Swing的时候,非常期待,因为用C或者C++以前写程序都没没有设计到图形界面,这个设计图形界面的简单易操作是其他语言远不能及的。只不过那些插件的引用有点繁多而且复杂,很难记忆。再者,自己的美学造诣比较局限,距离设计一个优美的图形界面好有点距离。但我相信在以后的学习中慢慢提高,不断写出更没的界面和更高效的程序。 附上一段老师的QQ登录界面的代码

package cn.netjava.lesson05;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;

/**
 * QQ登录界面
 * @author XiongXiangJun
 *
 */
public class QQLogin {

	/**
	 * 定义程序的入口主函数
	 */
	public static void main(String[] args) {
		QQLogin qq = new QQLogin();
		qq.initGUI();
	}

	/**
	 * 定义一个初始化界面的方法
	 */
	public void initGUI(){
		//1.实例化一个JFrame类的对象
		JFrame jf = new JFrame();
		//2.设置jf对象的属性值
		jf.setTitle("QQ登录界面");
		jf.setSize(new Dimension(380,295));
		jf.setDefaultCloseOperation(3);
		jf.setLocationRelativeTo(null);//设置窗体显示在屏幕的中央
		jf.setResizable(false);//设置禁止调整窗体的大小
		
		//设置窗体的布局方式为边框布局,窗体默认的布局方式就是边框布局
		//jf.setLayout(new BorderLayout());
		
		/******************窗体背景*********************/
		//实例化一个图标对象
		ImageIcon backgroundImage = new ImageIcon("qqImages/background.jpg");
		//实例化一个标签对象,让标签显示图标对象
		JLabel backgroundJla = new JLabel(backgroundImage);
		//设置标签的起始位置和标签的大小
		backgroundJla.setBounds(0, 0, backgroundImage.getIconWidth(), backgroundImage.getIconHeight());
		
		//添加到窗体的LayeredPanel面板的最底层(第二层面板)
		jf.getLayeredPane().add(backgroundJla,new Integer(Integer.MIN_VALUE));
		
		//获取窗体的第一层面板
		JPanel contentPanel = (JPanel)jf.getContentPane();
		//设置第一层面板为透明
		contentPanel.setOpaque(false);
		
		/************************************************/
		
		
		/****************北边的面板*********************/
		JPanel northPanel = new JPanel();
		northPanel.setOpaque(false);//设置面板为透明
		northPanel.setPreferredSize(new Dimension(0,120));
		//设置面板的布局方式为边框布局,JPanel默认的布局方式是流式布局
		northPanel.setLayout(new BorderLayout());
		
		//实例化一个JLabel的对象,并且让标签上显示图标
		JLabel jla = new JLabel("追梦。设计");
		jla.setFont(new Font("楷体",Font.BOLD,36));
		
		//将jla对象添加到northPanel对象上
		northPanel.add(jla,BorderLayout.WEST);
		//将northPanel添加到jf窗体的北边
		jf.add(northPanel,BorderLayout.NORTH);
		
		/**********************************************/
		
		/****************西边的面板*********************/
		JPanel westPanel = new JPanel();
		westPanel.setOpaque(false);//设置面板为透明
		//设置面板的布局方式为流式布局,JPanel默认的布局方式是流式布局
		westPanel.setLayout(new FlowLayout());
		
		//实例化一个图标(ImageIcon)对象
		ImageIcon image = new ImageIcon("qqImages/0.jpg");
		//实例化一个JLabel的对象,并且让标签上显示图标
		JLabel jlaImage = new JLabel(image);
		
		//将jlaImage对象添加到westPanel对象上
		westPanel.add(jlaImage);
		//将westPanel添加到jf窗体的西边
		jf.add(westPanel,BorderLayout.WEST);
		
		/**********************************************/
		

		/****************中间的面板*********************/
		JPanel centerPanel = new JPanel();
		centerPanel.setOpaque(false);//设置面板为透明
		//设置面板的布局方式为流式布局,靠左侧显示组件,JPanel默认的布局方式是流式布局
		centerPanel.setLayout(new FlowLayout(FlowLayout.LEFT,8,5));
		
		//实例化组件类的对象
		JComboBox jco = new JComboBox();
		//设置组件的大小
		jco.setPreferredSize(new Dimension(190,25));
		//设置jco对象可以编辑
		jco.setEditable(true);
		//将jco对象添加到centerPanel对象上
		centerPanel.add(jco);
		
		JLabel jbuReg = new JLabel("注册账号");
		centerPanel.add(jbuReg);
		
		JPasswordField jpa = new JPasswordField();		
		//设置组件的大小
		jpa.setPreferredSize(new Dimension(190,25));		
		//将jpa对象添加到centerPanel对象上
		centerPanel.add(jpa);
		
		JLabel jbuPwd = new JLabel("找回密码");
		centerPanel.add(jbuPwd);
		
		JCheckBox jch1 = new JCheckBox("记住密码");
		jch1.setOpaque(false);
		JCheckBox jch2 = new JCheckBox("自动登录");
		jch2.setOpaque(false);
		centerPanel.add(jch1);
		centerPanel.add(jch2);
		
		//将centerPanel添加到jf窗体的中间
		jf.add(centerPanel,BorderLayout.CENTER);
		
		/**********************************************/
		

		/****************南边的面板*********************/
		JPanel southPanel = new JPanel();
		southPanel.setOpaque(false);//设置面板为透明
		//设置面板的布局方式为流式布局,JPanel默认的布局方式是流式布局
		southPanel.setLayout(new FlowLayout());
		
		JButton jbuLogin = new JButton("登            录");
		jbuLogin.setPreferredSize(new Dimension(155,30));
		
		//将jbuLogin对象添加到southPanel对象上
		southPanel.add(jbuLogin);
		//将southPanel添加到jf窗体的南边
		jf.add(southPanel,BorderLayout.SOUTH);
		
		/**********************************************/
		
		//设置窗体为可见的代码一定要放置在最后一行
		jf.setVisible(true);
	}	
	
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics