用java做QQ登录界面的写法如下:
package ch10
import java.awt.*
import java.awt.event.*
import javax.swing.*
1、//定义该类继承自JFrame,实现ActionListener接口
public class LoginTest extends JFrame implements ActionListener
{
2、//创建JPanel对象
private JPanel jp=new JPanel()
3、//创建3个标并加入数组
JLabel name = new JLabel("请输入用户名")
JLabel password = new JLabel("请输入密码")
JLabel show = new JLabel("")
private JLabel[] jl={name,password,show}
4、//创建登陆和重置按扭并加入数组
JButton login = new JButton("登陆")
JButton reset = new JButton("重置")
private JButton[] jb={login,reset}
5、//创建文本框以及密码框
private JTextField jName=new JTextField()
private JPasswordField jPassword =new JPasswordField()
public LoginTest()
{
6、//设置布局管理器为空布局,这里自己摆放按钮、标签和文本框
jp.setLayout(null)
for(int i=0i<2i++)
{
7、//设置标签和按扭的位置与大小
jl[i].setBounds(30,20+40*i,180,20)
jb[i].setBounds(30+110*i,100,80,20)
8、//添加标签和按扭到JPanel容器中
jp.add(jl[i])
jp.add(jb[i])
//为2个按钮注册动作事件监听器
jb[i].addActionListener(this)
}
9、//设置文本框的位置和大小,注意满足美观并足够用户名的长度
jName.setBounds(130,15,100,20)
10、//添加文本框到JPanel容器中
jp.add(jName)
11、//为文本框注册动作事件监听器
jName.addActionListener(this)
12、//设置密码框的位置和大小,注意满足美观和足够密码的长度
jPassword.setBounds(130,60,100,20)
13、//添加密码框到JPanel容器中
jp.add(jPassword)
14、//设置密码框中的回显字符,这里设置美元符号
jPassword.setEchoChar('$')
15、//为密码框注册动作事件监听器
jPassword.addActionListener(this)
16、//设置用于显示登陆状态的标签大小位置,并将其添加进JPanel容器
jl[2].setBounds(10,180,270,20)
jp.add(jl[2])
17、//添加JPanel容器到窗体中
this.add(jp)
18、//设置窗体的标题、位置、大小、可见性及关闭动作
this.setTitle("登陆窗口")
this.setBounds(200,200,270,250)
this.setVisible(true)
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
}
19、//实现动作监听器接口中的方法actionPerformed
public void actionPerformed(ActionEvent e)
{
20、//如果事件源为文本框
if(e.getSource()==jName)
{
21、//切换输入焦点到密码框
jPassword.requestFocus()
}
22、//如果事件源为重置按扭
else if(e.getSource()==jb[1])
{
23、//清空姓名文本框、密码框和show标签中的所有信息
jl[2].setText("")
jName.setText("")
jPassword.setText("")
24、//让输入焦点回到文本框
jName.requestFocus()
}
25、//如果事件源为登陆按钮,则判断登录名和密码是否正确
else
{
26、//判断用户名和密码是否匹配
if(jName.getText().equals("lixiangguo")&&
String.valueOf(jPassword.getPassword()).equals("19801001"))
{
27、jl[2].setText("登陆成功,欢迎您的到来!")
}
else
{
28、jl[2].setText("对不起,您的用户名或密码错误!")
}
}
}
public static void main(String[] args)
{
29、//创建LoginTest窗体对象
new LoginTest()
}
}
什么都不说了 直接给你代码吧\x0d\x0apackage com.moliying.ui\x0d\x0aimport java.awt.BorderLayout\x0d\x0aimport java.awt.Container\x0d\x0aimport java.awt.FlowLayout\x0d\x0aimport java.awt.List\x0d\x0aimport java.awt.event.ActionEvent\x0d\x0aimport java.awt.event.ActionListener\x0d\x0aimport java.io.BufferedWriter\x0d\x0aimport java.io.FileOutputStream\x0d\x0aimport java.io.OutputStreamWriter\x0d\x0aimport java.util.ArrayList\x0d\x0aimport java.util.Arrays\x0d\x0aimport javax.swing.JButton\x0d\x0aimport javax.swing.JFrame\x0d\x0aimport javax.swing.JLabel\x0d\x0aimport javax.swing.JPanel\x0d\x0aimport javax.swing.JPasswordField\x0d\x0aimport javax.swing.JTextField\x0d\x0apublic class Login {\x0d\x0aprivate JFrame frame = new JFrame("登录")\x0d\x0aprivate Container c = frame.getContentPane()\x0d\x0aprivate JTextField username = new JTextField()\x0d\x0aprivate JPasswordField password = new JPasswordField()\x0d\x0aprivate JButton ok = new JButton("确定")\x0d\x0aprivate JButton cancel = new JButton("取消")\x0d\x0apublic Login() {\x0d\x0aframe.setSize(300, 200)\x0d\x0aframe.setBounds(450, 300, 300, 200)\x0d\x0ac.setLayout(new BorderLayout())\x0d\x0ainitFrame()\x0d\x0aframe.setVisible(true)\x0d\x0a}\x0d\x0aprivate void initFrame() {\x0d\x0a// 顶部\x0d\x0aJPanel titlePanel = new JPanel()\x0d\x0atitlePanel.setLayout(new FlowLayout())\x0d\x0atitlePanel.add(new JLabel("系统管理员登录"))\x0d\x0ac.add(titlePanel, "North")\x0d\x0a// 中部表单\x0d\x0aJPanel fieldPanel = new JPanel()\x0d\x0afieldPanel.setLayout(null)\x0d\x0aJLabel a1 = new JLabel("用户名:")\x0d\x0aa1.setBounds(50, 20, 50, 20)\x0d\x0aJLabel a2 = new JLabel("密 码:")\x0d\x0aa2.setBounds(50, 60, 50, 20)\x0d\x0afieldPanel.add(a1)\x0d\x0afieldPanel.add(a2)\x0d\x0ausername.setBounds(110, 20, 120, 20)\x0d\x0apassword.setBounds(110, 60, 120, 20)\x0d\x0afieldPanel.add(username)\x0d\x0afieldPanel.add(password)\x0d\x0ac.add(fieldPanel, "Center")\x0d\x0a// 底部按钮\x0d\x0aJPanel buttonPanel = new JPanel()\x0d\x0abuttonPanel.setLayout(new FlowLayout())\x0d\x0abuttonPanel.add(ok)\x0d\x0abuttonPanel.add(cancel)\x0d\x0ac.add(buttonPanel, "South")\x0d\x0a\x0d\x0aok.addActionListener(new ActionListener() {\x0d\x0a\x0d\x0a@Override\x0d\x0apublic void actionPerformed(ActionEvent e) {\x0d\x0aSystem.out.println(username.getText().toString())\x0d\x0a}\x0d\x0a})\x0d\x0a\x0d\x0acancel.addActionListener(new ActionListener() {\x0d\x0a\x0d\x0a@Override\x0d\x0apublic void actionPerformed(ActionEvent e) {\x0d\x0aframe.setVisible(false)\x0d\x0a}\x0d\x0a})\x0d\x0a}\x0d\x0apublic static void main(String[] args) {\x0d\x0a//new Login()\x0d\x0a\x0d\x0aString ss = "abbabbbaabbbccba"\x0d\x0a\x0d\x0aSystem.out.println(ss.split("b").length)\x0d\x0a\x0d\x0a}\x0d\x0a}importjava.awt.*\x0d\x0aimportjava.awt.event.*\x0d\x0aimportjava.applet.*\x0d\x0aimportjava.applet.Applet\x0d\x0aimportjava.io.*\x0d\x0aimportjavax.xml.parsers.DoumentBuilderFactory\x0d\x0a\x0d\x0apublicclassUserPanelextendsAppletimplentsActionListener\x0d\x0a{\x0d\x0aLabellblName,lblNumber,lblSex,lblJob,lblText\x0d\x0aTextFieletfName.tfNumber\x0d\x0acheckboxchMale,chFemale\x0d\x0aTextAreataText\x0d\x0achoicechJob\x0d\x0aButtonbtnOk,btnDisply\x0d\x0aPanelp1,p2,p3,p4,p5,p6,p7,p8,p9\x0d\x0aStringstrName,strNumber,strSex,strJob,strText\x0d\x0a\x0d\x0apublicvoidinit()\x0d\x0a{\x0d\x0alblName=newLabel("姓名")\x0d\x0alblNumber=newLabel("身份证号")\x0d\x0alblSex=newLabel("性别")\x0d\x0alblJob=newLabel("职业")\x0d\x0alblText=newLabel("个性化宣言")\x0d\x0atfName=newTextField(23)\x0d\x0atfNumber=newTextFidle(20)\x0d\x0ataText=newTextArea(10,20)\x0d\x0ac=newcheckboxGroup()\x0d\x0achMale=newcheckbox("男",c,true)\x0d\x0achFemale=newcheckbox("女",c,false)\x0d\x0achJob=newchoice()\x0d\x0achJob.add("学生")\x0d\x0abtnOk=newButton("确定")\x0d\x0abtnDisplay=newButton("显示")\x0d\x0ap1=newpanel()\x0d\x0ap2=newpanel()\x0d\x0ap3=newpanel()\x0d\x0ap4=newpanel()\x0d\x0ap5=newpanel()\x0d\x0ap6=newpanel()\x0d\x0ap7=newpanel(newBorderLayout())\x0d\x0ap8=newpanel()\x0d\x0ap9=newpanel(newBorderLayout())\x0d\x0a//\x0d\x0ap1.add(lblName)\x0d\x0ap1.add(tfName)\x0d\x0ap2.add(lblNumber)\x0d\x0ap2.add(lblNumber)\x0d\x0ap3.add(lblSex)\x0d\x0ap3.add(chMale)\x0d\x0ap3.add(chFemale)\x0d\x0ap4.add(lblJob)\x0d\x0ap4.add(chJob)\x0d\x0ap5.add(p3)\x0d\x0ap5.add(p4)\x0d\x0ap6.setLayout(newBorderLayout())\x0d\x0ap6.add(p1,BorderLayout.NORTH)\x0d\x0ap6.add(p2,BorderLayout.CENTER)\x0d\x0ap6.add(p5,BorderLayout.SOUTH)\x0d\x0ap7.add(lblText,BorderLayout.NORTH)\x0d\x0ap7.add(lblText,BorderLayout.CENTER)\x0d\x0ap8.setLayout(newFlowLayout(FlowLayout.CENTER,30,10))\x0d\x0ap8.add(btnOK)\x0d\x0ap8.add(btnDisplay)\x0d\x0ap9.add(p6,BorderLayout.NORTH)\x0d\x0ap9.add(p7,BorderLayout.CENTER)\x0d\x0ap9.add(p8,BorderLayout.SOUTH)\x0d\x0aadd(p9)\x0d\x0a//\x0d\x0abtnOK.addActionListener(this)\x0d\x0abtnDisplay.addActionListener(this)\x0d\x0abtnDisplay.setEnabled(false)\x0d\x0astrName=newString()\x0d\x0astrNumber=newString()\x0d\x0astrSex=newString()\x0d\x0astrJob=newString()\x0d\x0astrText=newString()\x0d\x0a}\x0d\x0a\x0d\x0apublicvoidactionPerformed(ActionEventevt)\x0d\x0a{\x0d\x0astringarg=evt.getActionCommand()\x0d\x0a//\x0d\x0aif(arg.equals("确定"))\x0d\x0a{\x0d\x0astrName=tfName.getText().trim()\x0d\x0astrNumber=tfNumber.getText().trim()\x0d\x0aif(chMale.getState())\x0d\x0astrSex="男"\x0d\x0aelse\x0d\x0astrSex="女"\x0d\x0astrJob=chJob.getselectedItem()\x0d\x0astrText=taText.getText().trim()\x0d\x0atry\x0d\x0a{\x0d\x0a//\x0d\x0aDoumentBuildFactorydbf=DocumentBuilderFactory.newInstance()\x0d\x0adb=dbf.newDocumentBuilder()\x0d\x0aDoumentdoc=db.newDoument()\x0d\x0a//\x0d\x0aElementroot=doc.CreateElement("UserDAta")\x0d\x0aElementeName=doc.createElement("Name")\x0d\x0aElementeNumber=doc.createElement("Number")\x0d\x0aElementeJob=doc.createElement("Job")\x0d\x0aElementeText=doc.createElement("Text")\x0d\x0a//\x0d\x0aroot.appendChild(eName)\x0d\x0aroot.appendChild(eNumber)\x0d\x0aroot.appendChild(eSex)\x0d\x0aroot.appendChild(eJob)\x0d\x0aroot.appendChild(eText)\x0d\x0a//\x0d\x0aeName.appendChild(doc.creatTextNode("\n"strName"\n"))\x0d\x0aeNumber.appendChild(doc.creatTextNode("\n"strNumber"\n"))\x0d\x0aeSex.appendChild(doc.creatTextNode("\n"strSex"\n"))\x0d\x0aeJob.appendChild(doc.creatTextNode("\n"strJob"\n"))\x0d\x0aeText.appendChild(doc.creatTextNode("\n"strText"\n"))\x0d\x0a//\x0d\x0aFilef=newFile("user.xml")\x0d\x0aFileOutputStreamfOut=newFileOutStream(f)\x0d\x0a//\x0d\x0afOut.write("