目标图:
界面分析:
从上部和下部可以看出框架应该是用边界布局。
边界上部添加一个标签附图,下部添加一个JPanel面板构成流式布局带一个按钮和一个标签链接。
在中间部分中,添加一个面板,添加选项卡窗格、文本框、密码框、多选框、标签等组件。
代码实现:
import java.awt.*;
import javax.swing.*;
public class Swing_exercise3 extends JFrame{
//定义组件
//上部组件
JLabel jl1;
//下部组件
JPanel jp1;
JButton jb1;
JLabel jl2;
//中部组件
JPanel jp2,jp3,jp4;
JTabbedPane jtbp;
JTextField jtf1;
JPasswordField jpf1;
JCheckBox jcb1,jcb2;
JLabel jl3,jl4,jl5;
public static void main(String[] args) {
Swing_exercise3 a=new Swing_exercise3();
}
public Swing_exercise3()
{
//创建组件
//上部组件
jl1=new JLabel(new ImageIcon("image/qq.png")); //把图片添加到标签中,利用ImageIcon类
//下部组件
jp1=new JPanel();
jb1=new JButton("安全登录");
jl2=new JLabel("<html><a href='www.qq.com'>注册账号</a>"); //设置标签带有链接
jl2.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); //设置鼠标放到标签上会变成一只手
//中部组件
jp2=new JPanel();
jtbp=new JTabbedPane();
jtf1=new JTextField(10);
jpf1=new JPasswordField(10);
jcb1=new JCheckBox("自动登录");
jcb2=new JCheckBox("记住密码");
jl3=new JLabel("<html><a href='www.qq.com'>找回密码</a>");
jl3.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
jl4=new JLabel(new ImageIcon("image/qq账号.png"));
jl5=new JLabel(new ImageIcon("image/qq密码.png"));
jp3=new JPanel();
jp4=new JPanel();
jp5=new JPanel();
//添加组件
//下部组件
jp1.add(jb1);
jp1.add(jl2);
//中部组件
jp2.add(jl4);
jp2.add(jtf1);
jp2.add(jl5);
jp2.add(jpf1);
jp2.add(jcb1);
jp2.add(jcb2);
jp2.add(jl3);
jtbp.add("QQ登录",jp2); //把面板添加到选项卡中
jtbp.add("手机号码",jp3);
jtbp.add("电子邮箱",jp4);
this.add(jl1,BorderLayout.NORTH);
this.add(jp1,BorderLayout.SOUTH);
this.add(jtbp);
//设置布局管理器
//设置窗体实行
this.setTitle("QQ"); //设置界面标题
this.setIconImage(new ImageIcon("image/qq.gif").getImage()); //设置标题图像是qq企鹅
this.setSize(350, 300); //设置界面像素
this.setLocation(200, 200); //设置界面初始位置
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置虚拟机和界面一同关闭
this.setVisible(true); //设置界面可视化
}
}
如何在标签添加图片?
先把在你的工程里创建一个folder文件夹,然后把图片移到文件夹里,利用ImageIcon类来取出图片,可以模仿下述代码,我的文件夹叫image,图片名叫qq账号.png
new ImageIcon("image/qq账号.png") //新建一个ImageIcon对象,内容是qq账号图片
如何把鼠标显示成小手?
setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)) //鼠标移动位置显示小手
如何设置标题图片?
我的文件夹叫image,图片名叫qq.gif
setIconImage(new ImageIcon("image/qq.gif").getImage())
欢迎各位在评论区留言探讨~~