1、标签文本框与网格管理器应用
实现一个登录界面
import javax.swing.*;
import java.awt.Color;
public class J10 extends JFrame{
J10(){
setTitle("登录页面");
setSize(400,500);
setVisible(true);
}
public static void main(String[] args) { new J10();
}
}
import javax.swing.*;
import java.awt.*;
public class J11 extends J10{
// JLabel l1,l2;
J11(){
// l1=new JLabel("账号");
// l2=new JLabel("密码");
JTextField t1=new JTextField(12); //创建文本框,默认宽度12
JPasswordField pass=new JPasswordField (12); //创建密码框,默认宽度12
JLabel l1=new JLabel("账号:");
JLabel l2=new JLabel("密码:"); //创建标签对象
setLayout(new GridLayout(2,1)); //设置网格布局管理器 ,参数为2行1列
JPanel p1=new JPanel();
JPanel p2=new JPanel();
p1.add(l1);p2.add(l2); //将标签对象添加到面板对象p1,p2上
p1.add(t1);p2.add(pass);//将文本对象添加到面板对象p1,p2上
add(p1);add(p2);
l1.setToolTipText("这是标签对象");//设置标签的工具提示
}
public static void main(String[] args) {
J11 lg =new J11();
lg.setVisible(true);
}
}
/*先声明JLabel b1,b2; 后面再调用b1=new JLabel("账号"); b2=new JLabel("密码");
也可以用JLabel b1 =new JLabel("账号") 来实现*/
运行结果:
在登陆界面窗口上添加“登录”与“注册”按钮,单击“注册”按钮会执行事件处理方法。弹出注册界面
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class J12 extends J11 implements ActionListener{
JButton b1,b2;
public class J1 extends J10{
J1(){
setLayout(new GridLayout(3,1));
setTitle("注册界面");
setSize(400,500);
setVisible(true);
JLabel b1=new JLabel("账号");
JLabel b2=new JLabel("输入密码");
JLabel b3=new JLabel("确认密码");
JTextField T1=new JTextField(10);
JPasswordField T2=new JPasswordField(10);
JPasswordField T3=new JPasswordField(10);
JPanel p1=new JPanel();
JPanel p2=new JPanel();
JPanel p3=new JPanel();
p1.add(b1); p1.add(T1);
p2.add(b2); p2.add(T2);
p3.add(b3); p3.add(T3);
add(p1);add(p2);add(p3);
}
}
J12(){
setLayout(new GridLayout(3,1));
JPanel p3 =new JPanel();
// JButton b1 =new JButton("登录");
// JButton b2 =new JButton("注册");
b1=new JButton("登录");
b2=new JButton("注册");
b1.addActionListener(this);
b2.addActionListener(this); //给按钮添加监听器
p3.add(b1);p3.add(b2);add(p3);
}
public void actionPerformed(ActionEvent e) { //实现窗口的事件处理方法
Object obj = e.getSource(); // 获取事件源
if(obj == b2) {new J1(); //如果单击b2按钮,打开J1的窗口
}
//Object obj = e.getActionCommand(); // 获取事件源的标签 “注册”
//if(obj == "注册") {new J1();} //如果单击b2按钮,打开J1窗口
}
public static void main(String[] args) {
J12 lg=new J12();
lg.setVisible(true);
}
}
/*先声明JButton b1,b2; 后面再调用b1=new JButton("登录"); b2=new JButton("注册");
也可以用JButton b1 =new JButton("登录") 来实现 此代码不能用第二个,因为后面的事件监听也需要用到b2 所以要把它设成全局变量*/
运行结果:
1、JLabel标签组件,可以创建标签文字对象,在实例化是可以直接指定窗口界面上要显示的文字。
2、JTextField文本框组件,可以创建一个指定字符列数的文本框对象
3、JPasswordField密码框组件,可以创建一个输入显示为*的文本框,可以保护输入的密码。
4、按钮组件JButton在按下和释放两个状态之间进行切换,通过捕获按下与释放按钮事件状态可以执行响应事件处理程序。