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

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

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<String> 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("")

}

}

性别怎么用复选框呀?难道一个人还能有两种性别?我感觉应该用单选按钮(JRadioButton )。当然要用JRadioButton 的话就离不开ButtonGroup。你new两个JRadioButton,一个男一个女,然后将两个JRadioButton 放到ButtonGroup中。这样这两个单选按钮就是互斥的了,然后你在把两个按钮放到你的面板上就能显示了

/*

* 导入所需的包

*/

import javax.swing.*

public class Show {

public static void main(String args[]) {

JFrame frame=new JFrame("单选按钮实例") //创建窗口对象

JPanel panel=new JPanel()//创建面板对象

ButtonGroup bg=new ButtonGroup() //创建单选按钮组

JRadioButton male=new JRadioButton("男")//创建单选按钮

JRadioButton female=new JRadioButton("女")

bg.add(male) //把单选按钮添加到组中

bg.add(female)

panel.add(male)//把按钮添加到面板中

panel.add(female)

frame.getContentPane().add(panel) //获取窗口的内容面板,将自定义面板添加进去

frame.setSize(220,200) //设置窗口大小

frame.setVisible(true) //显示窗口

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) //设置关闭窗口 *** 作

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11943527.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存