中易网

利用SWING编程,编辑一个个人信息录入器

答案:1  悬赏:50  
解决时间 2021-03-24 10:08
利用SWING编程,编辑一个个人信息录入器
最佳答案
1: 布局分析 典型的边界布局(BorderLayout) 最顶上一排组件是1个JPanel. 中间的是文本域/文本框
2:分析需要的组件: 标签 , 文本框,组合框, 按钮.  建议中央的文本框 使用 文本域来实现, 因为文本域可以多行显示
效果图

参考代码
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


public class JTFDemo extends JFrame implements ActionListener{
JTextField jtfName,jtfAge;//文本框
JTextArea jta;//文本域
JButton jb1;//按钮
JComboBox jcb;//组合框
final String NEW_LINE=System.getProperty("line.separator");//得到本系统的换行符
public JTFDemo() {
// 最顶上的组件
JPanel jp = new JPanel();
JLabel jl1 = new JLabel("姓名");
jtfName = new JTextField(6);
JLabel jl2 = new JLabel("性别");
jcb = new JComboBox<>(new String[] {"男","女"});
JLabel jl3 = new JLabel("年龄");
jtfAge = new JTextField(6);
jb1 = new JButton("确定");
jb1.addActionListener(this);
jp.add(jl1);
jp.add(jtfName);
jp.add(jl2);
jp.add(jcb);
jp.add(jl3);
jp.add(jtfAge);
jp.add(jb1);
add(jp,BorderLayout.NORTH);//设置jp面板在窗口的北面

//中间的组件
JPanel jpc = new JPanel();
jta = new JTextArea(7,30);
jta.setLineWrap(true);//自动换行
JScrollPane jsp = new JScrollPane(jta);//滚动面板,会在需要时显示滚动条
jpc.add(jsp);
add(jpc,BorderLayout.CENTER);// 设置jpc.在窗口的中央 , BorderLayout.CENTER可以省略

//窗口属性设置
setTitle("个人信息录入器");// 标题
setSize(380, 230);// 窗口大小
setLocationRelativeTo(null);// 窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE);// 窗口点击关闭时,退出程序
setVisible(true);// 窗口可见
}


public static void main(String[] args) {
new JTFDemo(); //创建窗口并显示
}


@Override
public void actionPerformed(ActionEvent e) {

if(e.getSource()==jb1) {

String name =jtfName.getText().trim();//得到文本框的文字并去掉首尾的空格
if(name.equals("")) {
JOptionPane.showMessageDialog(this, "Sorry! 姓名不能为空!请填写姓名~");
return;
}

String s_age = jtfAge.getText().trim();
int age=0;
try {
age = Integer.parseInt(s_age);
}catch (Exception ex) {
JOptionPane.showMessageDialog(this, "Sorry! 年龄文本框请输入整数.");
return;
}

String info = name+","+jcb.getSelectedItem()+","+age;
jta.append(info+NEW_LINE);//添加文字
//jta.setText(info);//设置文字 ,会覆盖之前的文字

//reset(); //重置文本框 等组件
}


}
private void reset() {
jtfName.setText("");//重置内容为""
jcb.setSelectedIndex(0);//重置组合框的选择为第0个
jtfAge.setText("");
}
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
出马士基不套约海运费提单什么意思
对面试官的提问“你为什么会来我们这间公司”
九五年三月三日阴历二月初三下午一时生的女孩
中交二航局在斯里兰卡有项目吗,
机房客户端电脑要换成win7系统,之前用xp万象
主攻文 最好是一攻多受的
铅多的症状 吃什么药可以排铅
cf换购2017换购什么时候出
左侧附件囊性包块
内存卡的英文怎么读
为什么手表夜光这么厉害
const int * p1和int * const p2的区别是什么
每天想你一万遍了,哪里都是你,我的脑子啊
碘被称为“智力元素”,科学合理地补碘可防止
到广州王府井百货乘地铁几号线?
推荐资讯
大家的狗狗吃过这个液体钙吗?我在宠物店拿的
芙蓉花什么时候开?关于芙蓉花的诗句
电脑平缝机的上轮卸下来再安上,为什么不是针
邮政小包单号查询单pa15559816165号包裹到了
石河子电中科目三在哪里练车?
在长沙坐出租车有没有堵车费?
我家的狗狗奶水不足,吃什么样的粮食好
我家的小泰迪,三个月了,有皮肤病,打了一针
我想查一个人看看他现在到底在哪里请问怎么查
我的手机是苹果5,我想查一下是行货还是水货
请问“今天夜不打烊,我愿。。。。。。。。。
离北京东城近的典当行在哪里?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?