首页 > 代码库 > java基础 swing编程实战
java基础 swing编程实战
1. 实现金山词霸,点击左右收缩
效果图:
exmaple code :
1 /* 2 * 词霸 3 * */ 4 package demo7; 5 import java.awt.*; 6 import java.awt.image.ImageObserver; 7 import java.awt.image.ImageProducer; 8 9 import javax.swing.*;10 public class example1 extends JFrame{11 12 /**13 * @param args14 */15 16 //定义组件17 JSplitPane jsp;18 JList jlist;19 JLabel jl1;20 public static void main(String[] args) {21 // TODO Auto-generated method stub22 example1 exam = new example1();23 }24 public example1()25 {26 //创建组件27 String []words = {"boy","girl","bird"};28 jlist = new JList(words);29 30 jl1 = new JLabel(new ImageIcon("image/ciba.jpg"));31 //拆分窗格32 jsp =new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,jlist,jl1);33 //可以变化34 jsp.setOneTouchExpandable(true);35 //设置布局管理器36 37 //添加组件38 this.add(jsp);39 40 //设置大小41 this.setSize(400, 300);42 this.setLocation(200, 200);43 this.setVisible(true);44 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);45 }46 47 }
2 . QQ聊天界面
涉及到新的swing组件:
1. JTextArea 多行文本框组件
example code:
1 /* 2 * QQ聊天 3 * */ 4 package demo7; 5 import java.awt.*; 6 import javax.swing.*; 7 public class example2 extends JFrame{ 8 9 /**10 * @param args11 */12 JTextArea jta = null;13 JScrollPane jsp = null;14 JPanel jp1=null;15 JComboBox jcb = null;16 JTextField jtf = null;17 JButton jb = null;18 public static void main(String[] args) {19 // TODO Auto-generated method stub20 example2 exam = new example2();21 }22 23 //构造函数24 public example2()25 {26 jta = new JTextArea();27 jsp = new JScrollPane(jta);28 jp1 = new JPanel();29 String []chatter = {"布什","拉登"};30 jcb = new JComboBox(chatter);31 jtf = new JTextField(10);32 jb =new JButton("发送");33 34 //设置布局管理器35 36 //添加组件37 jp1.add(jcb);38 jp1.add(jtf);39 jp1.add(jb);40 41 //加入JFrame42 this.add(jsp);43 this.add(jp1,BorderLayout.SOUTH);44 45 //属性46 this.setIconImage(new ImageIcon("image/qq.jpg").getImage());47 this.setTitle("腾讯QQ");48 this.setSize(300,200);49 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);50 this.setVisible(true);51 }52 53 }
3 QQ登陆界面
example code:
1 /** 2 * 页签组件(JTabbedPane)选项卡窗格--使用QQ登录界面 3 */ 4 import java.awt.*; 5 import javax.swing.*; 6 public class example3 extends JFrame{ 7 //设定组件 8 //主页面北部 9 JLabel jl1;//标签 10 11 //主页面南部 12 JButton jb1,jb2,jb3;//按钮 13 JPanel jp1;//面板 14 15 //主页面中部 16 JTabbedPane jtp;//选项卡窗格 17 JPanel jp2,jp3,jp4;//面板 18 19 JLabel jl2,jl3,jl4,jl5;//标签 20 JTextField jtf;//文本框 21 JPasswordField jpf;//密码框 22 JButton jb4;//按钮 23 JCheckBox jcb1,jcb2;//复选框 24 25 //JPanel2组件 26 JLabel jl6,jl7;//标签 27 JTextField jtf1; 28 JPasswordField jpf1; 29 30 //JPanel3组件 31 JLabel jl8,jl9;//标签 32 JTextField jtf2; 33 JPasswordField jpf2; 34 35 36 public static void main(String[] args) { 37 example3 win=new example3(); 38 } 39 //构造函数 40 public example3(){ 41 //创建组件 42 //创建JFrame北部JLabel1组件 43 jl1=new JLabel(new ImageIcon("images/qqdl.jpg")); 44 45 //创建JFrame中部JPanel2组件 46 jl2=new JLabel("QQ号码",JLabel.CENTER); 47 jl3=new JLabel("QQ密码",JLabel.CENTER); 48 jl4=new JLabel("忘记密码",JLabel.CENTER); 49 jl4.setFont(new Font("宋体",Font.PLAIN,16));//设置字体,字号 50 jl4.setForeground(Color.BLUE);//设置字体颜色 51 jl5=new JLabel("<html><a href=http://www.mamicode.com/‘www.qq.com‘>申请密码保护