用java设计一个注册界面,要求将注册信息利用输出流保存到本地txt文件 100

用java设计一个注册界面,要求将注册信息利用输出流保存到本地txt文件注册信息:账号密码email性别年龄... 用java设计一个注册界面,要求将注册信息利用输出流保存到本地txt文件注册信息:账号 密码 email 性别 年龄 展开
 我来答
雪飞潇潇
2018-01-01 · TA获得超过6273个赞
知道大有可为答主
回答量:1968
采纳率:91%
帮助的人:834万
展开全部

效果图

参考代码和注释

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;

//该窗口继承自JFrame, 实现了ActionListener接口
public class SingUpFrame extends JFrame implements ActionListener {
//定义需要的组件
JTextField jtfName, jtfEmail; 
JPasswordField jpf;
JRadioButton jrb1, jrb2;
JComboBox<String> jcb;
JButton jbReset, jbSingUp;
//常量
static final String NEW_LINE = System.getProperty("line.separator");// 获取系统的换行符
static final String FILE_PATH = "d:/users.txt";//指定文件的路径

//构造器
public SingUpFrame() {
JPanel jp1 = new JPanel();
JLabel jl1 = new JLabel("账号");
jtfName = new JTextField(15);
jp1.add(jl1);
jp1.add(jtfName);

JPanel jp2 = new JPanel();
JLabel jl2 = new JLabel("密码");
jpf = new JPasswordField(15);
jp2.add(jl2);
jp2.add(jpf);

JPanel jp3 = new JPanel();
JLabel jl3 = new JLabel("邮箱");
jtfEmail = new JTextField(15);
jp3.add(jl3);
jp3.add(jtfEmail);

JPanel jp4 = new JPanel();
JLabel jl4 = new JLabel("性别");
ButtonGroup bg = new ButtonGroup();
jrb1 = new JRadioButton("男");
jrb1.setSelected(true);// 默认选中男性
jrb2 = new JRadioButton("女");
bg.add(jrb1);
bg.add(jrb2);
jp4.add(jl4);
jp4.add(jrb1);
jp4.add(jrb2);

JLabel jl5 = new JLabel("年龄");
String[] ary = new String[12];
for (int i = 18; i < 30; i++) {// 18~30可供选中的范围
ary[i - 18] = i + "";
}
jcb = new JComboBox<String>(ary);
jp4.add(jl5);
jp4.add(jcb);

JPanel jpc = new JPanel(new GridLayout(4, 1));// 4行1列布局
jpc.add(jp1);
jpc.add(jp2);
jpc.add(jp3);
jpc.add(jp4);
add(jpc);

JPanel jps = new JPanel();
jbReset = new JButton("重填");
jbReset.addActionListener(this);//给按钮添加响应
jbSingUp = new JButton("确定");
jbSingUp.addActionListener(this);//给按钮添加响应
jps.add(jbReset);
jps.add(jbSingUp);
add(jps, BorderLayout.SOUTH);


setTitle("注册窗口");// 窗口标题
setSize(300, 285);// 窗口大小
setLocationRelativeTo(null);// 窗口居中
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 当窗口关闭时,程序结束
}

@Override
public void actionPerformed(ActionEvent e) {
JButton jb = (JButton) e.getSource();
if (jb == jbReset) {
jtfName.setText("");
jpf.setText("");
jtfEmail.setText("");
jrb1.setSelected(true);
jcb.setSelectedIndex(0);// 选中第1个选项(18)
} else if (jb == jbSingUp) {

String name = jtfName.getText().trim();
String pswd = new String(jpf.getPassword());
String email = jtfEmail.getText().trim();
String xb = jrb1.isSelected() ? "男" : "女";
String age = (String) jcb.getSelectedItem();
if(name.equals("")||pswd.equals("")||email.equals("")) {//对输入的信息进行一个简单的判断
JOptionPane.showMessageDialog(null, "请完整填写所有的信息", "提示",JOptionPane.WARNING_MESSAGE);  
return;
}

StringBuffer sb = new StringBuffer();
sb.append("账号:" + name + NEW_LINE + "密码:" + pswd + NEW_LINE + "邮箱:" + email + NEW_LINE + "性别:" + xb
+ NEW_LINE + "年龄:" + age+NEW_LINE);
boolean flag = saveInfo(sb.toString());
if(flag) {
JOptionPane.showMessageDialog(null, "注册成功 ,保存成功");
}else {
JOptionPane.showMessageDialog(null, "Sorry!保存失败.注册出现了问题...", "IO错误",JOptionPane.ERROR_MESSAGE);
}
}

}

//方法:保存信息到文件
public boolean saveInfo(String info) {
FileWriter fw;
try {
fw = new FileWriter(FILE_PATH, true);//追加文字到文件尾部
fw.write(info);
fw.close();
} catch (IOException e) {
e.printStackTrace();
return false;//IO异常,保存不成功
}
return true;//保存成功
}

//main方法
public static void main(String[] args) {
new SingUpFrame().setVisible(true); //创建窗口并可见
}

}
miniappjqJ7BOuVBg1uw
2018-01-01 · 超过17用户采纳过TA的回答
知道答主
回答量:56
采纳率:0%
帮助的人:18.7万
展开全部
图形界面吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式