利用SWING编程,编辑一个个人信息录入器
答案:1 悬赏:50
解决时间 2021-03-24 10:08
- 提问者网友:爱唱彩虹
- 2021-03-23 13:42
利用SWING编程,编辑一个个人信息录入器
最佳答案
- 二级知识专家网友:舊物识亽
- 2021-03-23 14:50
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("");
}
}
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
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("");
}
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |