小程序我的项目下载链接:点击打开链接

因为这学期比赛太多,蓝桥杯,团体程序设计大赛,ACM省赛等原因基本这学期的课程都没上,比赛完后开始去上课,java老师让用java写一个学生信息录入界面,把界面中的信息保存在学生信息.txt文本文档里。。。。最近也没什么事,就看着课本学,结果发现java界面里面的那些textField,JButton。。。。实在太难控制它在JFrame上位置。

,突发奇想,基于上学期学了c# ,两者差不多,既然c#可以界面操作,说不定java也有,于是开始发挥百度的强大作用,果然有:

大概意思就是说:windows builder一个java的一个组件,可以在eclipse实现java的界面可视化编程。

(一阵狂喜)

跟着网上它的安装和基本使用方法:使用教程链接

接下来我们需要完成两部分:

1.界面

2.功能

有了windows builder 之后界面很快就完成了(如下图:)

果然比在代码控制控件位置简单多啦。。。

接下来最重要的就是功能,我们要实现的是让每一个控件中的内容都要Write入学生信息.txt里面。。

这是书上写的一个字符文件流读写文本文件(实现的功能:将文件a.txt读取到文本区,经修改后,另存为b.txt)

import java.io.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

class Win extends JFrame implements ActionListener//接口设置监听器

{

FileReader r_file;//字符文件输入流

FileWriter w_file;//字符文件输出流

BufferedReader buf_reader;//与FileReader类配合使用,将字符输入到缓冲区,使数据处理速度大大加快,提高读写的效率

BufferedWriter buf_writer;

JTextArea txt;

JButton btn1,btn2;

Win()

{

setSize(400,400);

setVisible(true);

txt = new JTextArea(10,10);

btn1 = new JButton("Read");

btn2 = new JButton("Write");

btn1.addActionListener(this);//建立监听器和事件源(按钮)之间的联系

btn2.addActionListener(this);

JPanel p = new JPanel();

add(txt,"Center");

add(p,"South");

p.setLayout(new FlowLayout());//设置窗体为浮动窗体

p.add(btn1);

p.add(btn2);

validate();//使窗体中的组件为可见

setDefaultCloseOperation(EXIT_ON_CLOSE);//设置关闭窗体,退出窗体

}

public void actionPerformed(ActionEvent e)

{

//当单击按钮对象btn时,按钮对象会产生一个ActionEvent事件,事件监听器监听到这个事件,把它作为实现ActionListener接口的actionPerformed方法的参数,在actionPerformed方法中处理动作事件。

if(e.getSource()==btn1)

{

readFile();

}

if(e.getSource()==btn2)

{

writeFile();

}

}

//读取文件

public void readFile()

{

String s;

try

{

File f=new File("C:\\Users\\Administrator\\Desktop\\java小程序\\a.txt");

r_file = new FileReader(f);//将文件f里面的内容给字符文件输入流

buf_reader = new BufferedReader(r_file);

}

catch(IOException ef)

{

System.out.print(ef);

}

try

{

while ((s = buf_reader.readLine())!=null)

{

txt.append(s+'\n');

}

}

catch(IOException er)

{

System.out.print(er);

}

}

public void writeFile()

{

try

{

w_file = new FileWriter("C:\\Users\\Administrator\\Desktop\\java小程序\\b.txt");

buf_writer = new BufferedWriter(w_file);

String str = txt.getText();

buf_writer.write(str,0,str.length());

buf_writer.flush();//一般情况下,writer方法向输出流写数据时,先把数据存放在缓冲区,这时缓冲区的数据不会自动写入输出流,只有当缓冲区满时,才会一次性将缓冲区的数据写入输出流,即写入文件。为了把尚未填满的缓冲区中的数据送出去,这时就要使用flush方法。

}

catch(IOException ew)

{

System.out.print(ew);

}

}

}

public class e81

{

public static void main(String args[])

{

Win w=new Win();

}

}

知道这个之后可以很容易完成TextField控件的写入,下面要解决的就是下拉列表的写入,JComboBox需要在你选中内容后获得他的信息。首先需要给需要设置监听器:

public class H implements ItemListener { }

下面是它的选中事件:

public void itemStateChanged(ItemEvent e)

{

sex=e.getItem().toString();

}

下面是整个小程序实现的全部代码:

知道这个之后可以很容易完成TextField控件的写入,下面要解决的就是下拉列表的写入,JComboBox需要在你选中内容后获得他的信息。首先需要给需要设置监听器:

public class H implements ItemListener

{ }下面是它的选中事件:

public void itemStateChanged(ItemEvent e)

{

sex=e.getItem().toString();

}

下面是整个小程序的代码:

package 学生信息;

import java.awt.EventQueue;

import java.awt.Font;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.ItemEvent;

import java.awt.event.ItemListener;

import java.io.BufferedWriter;

import java.io.FileWriter;

import java.io.IOException;

import javax.swing.DefaultComboBoxModel;

import javax.swing.JButton;

import javax.swing.JComboBox;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JTextField;

public class H implements ItemListener{ //JComboBox的监听器

String sex="";//注意要初始化,不然会抛出错误

private JFrame frame;

private JTextField textField;

//FileReader r_file;

FileWriter w_file;

//BufferedReader buf_reader;

BufferedWriter buf_writer;

private JTextField textField_1;

private JTextField textField_2;

private JTextField textField_3;

private JTextField textField_4;

/**

* Launch the application.

*/

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

public void run() {

try {

H window = new H();

window.frame.setVisible(true);

} catch (Exception e) {

e.printStackTrace();

}

}

});

}

/**

* Create the application.

*/

public H() {

initialize();

}

/**

* Initialize the contents of the frame.

*/

private void initialize() {

frame = new JFrame();

frame.getContentPane().setFont(new Font("宋体", Font.PLAIN, 22));

frame.setBounds(100, 100, 817, 516);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.getContentPane().setLayout(null);

JLabel lblNewLabel = new JLabel("\u5B66\u751F\u4FE1\u606F\u5F55\u5165\u754C\u9762");

lblNewLabel.setBounds(239, 15, 334, 67);

lblNewLabel.setFont(new Font("宋体", Font.PLAIN, 30));

frame.getContentPane().add(lblNewLabel);

JLabel label = new JLabel("\u5B66\u53F7\uFF1A");

label.setBounds(29, 107, 81, 21);

label.setFont(new Font("宋体", Font.PLAIN, 24));

frame.getContentPane().add(label);

textField = new JTextField();

textField.setBounds(102, 106, 167, 27);

frame.getContentPane().add(textField);

textField.setColumns(10);

final JButton btnNewButton = new JButton("\u4FDD\u5B58");

btnNewButton.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e) //按钮的点击事件

{

if(e.getSource()== btnNewButton)

{

writeFile();

}

if(e.getSource()== btnNewButton)

{

System.exit(0);

}

}

public void writeFile()

{

try

{

w_file = new FileWriter("C:\\Users\\Administrator\\Desktop\\java小程序\\学生信息.txt");

buf_writer = new BufferedWriter(w_file);

String t=" ";

String number = textField .getText();//读入学号

buf_writer.write(number,0,number.length());

buf_writer.write(t,0,t.length());

String name = textField_1.getText();//读入姓名

buf_writer.write(name,0,name.length());

buf_writer.write(t,0,t.length());

buf_writer.write(sex,0,sex.length());//读入性别

buf_writer.write(t,0,t.length());

String nom = textField_2 .getText();//读入宿舍号

buf_writer.write(nom,0,nom.length());

buf_writer.write(t,0,t.length());

String clas= textField_3 .getText();//读入班级

buf_writer.write(clas,0,clas.length());

buf_writer.write(t,0,t.length());

String cell= textField_4 .getText();//读入班级

buf_writer.write(cell,0,cell.length());

buf_writer.write(t,0,t.length());

buf_writer.flush();

JOptionPane.showMessageDialog(null, "保存成功");

}

catch(IOException ew)

{

System.out.print(ew);

}

}

});

btnNewButton.setBounds(531, 371, 123, 29);

frame.getContentPane().add(btnNewButton);

JLabel lblNewLabel_1 = new JLabel("\u59D3\u540D\uFF1A");

lblNewLabel_1.setFont(new Font("宋体", Font.PLAIN, 24));

lblNewLabel_1.setBounds(29, 163, 81, 21);

frame.getContentPane().add(lblNewLabel_1);

textField_1 = new JTextField();

textField_1.setBounds(102, 162, 167, 27);

frame.getContentPane().add(textField_1);

textField_1.setColumns(10);

JLabel label_1 = new JLabel("\u6027\u522B\uFF1A");

label_1.setFont(new Font("宋体", Font.PLAIN, 24));

label_1.setBounds(29, 225, 81, 21);

frame.getContentPane().add(label_1);

JComboBox comboBox = new JComboBox();

comboBox.setModel(new DefaultComboBoxModel(new String[] {"\u7537", "\u5973"}));

comboBox.setBounds(102, 224, 167, 27);

comboBox.addItemListener(this);

frame.getContentPane().add(comboBox);

JLabel label_2 = new JLabel("\u5BBF\u820D\u53F7\uFF1A");

label_2.setFont(new Font("宋体", Font.PLAIN, 24));

label_2.setBounds(393, 97, 113, 21);

frame.getContentPane().add(label_2);

JLabel label_3 = new JLabel("\u73ED\u7EA7\uFF1A");

label_3.setFont(new Font("宋体", Font.PLAIN, 24));

label_3.setBounds(393, 165, 81, 21);

frame.getContentPane().add(label_3);

JLabel label_4 = new JLabel("\u7535\u8BDD\uFF1A");

label_4.setFont(new Font("宋体", Font.PLAIN, 24));

label_4.setBounds(393, 227, 81, 21);

frame.getContentPane().add(label_4);

textField_2 = new JTextField();

textField_2.setBounds(521, 97, 147, 27);

frame.getContentPane().add(textField_2);

textField_2.setColumns(10);

textField_3 = new JTextField();

textField_3.setBounds(521, 162, 147, 27);

frame.getContentPane().add(textField_3);

textField_3.setColumns(10);

textField_4 = new JTextField();

textField_4.setBounds(521, 224, 147, 27);

frame.getContentPane().add(textField_4);

textField_4.setColumns(10);

JButton button = new JButton("\u53D6\u6D88");

button.setBounds(86, 371, 123, 29);

frame.getContentPane().add(button);

}

public void itemStateChanged(ItemEvent e) {

// TODO Auto-generated method stub

}

}

完成界面:

保存信息:

总结:我觉得Windows Builder控件对新手做界面操作还是比较方便的,又学到一个新东西。。。

(ps:不知道下面为什么会出现东西,有没有大神有解决方法)

java小程序之学生信息_java小程序之学生信息录入界面相关推荐

  1. java集合学生信息_java 使用 集合 制作学生管理系统

    以上是文件组织结构 下面是个.java的具体代码: 1 packagecom.collection.students.pojo;2 3 public classStudent {4 privateSt ...

  2. java判断时间区间 隔天_Java初中级程序员面试题宝典

    Java基础部分 &与&&区别? &和&&都是逻辑运算符,都是判断两边同时真则为真,否则为假:但是&&当第一个条件不成之后,后面的条件都 ...

  3. java管理系统用怎么框架做_java 使用servlet做学生管理系统(无框架)

    使用工具: JavaJDK1.8 32位 Tomcat 8.5.33 32位 IDEA MySQL5.6 使用Jar包: c3p0-0.9.1.2.jar commons-dbutils-1.4.ja ...

  4. java比较三个数的编程_Java小程序输入三个数求最大数

    Java小程序输入三个数求最大数代码: import java.io.*; public class Help { // 比较两个数字 public static void main(String[] ...

  5. java 在一个类中定义类_Java 中程序代码必须在一个类中定义,类使用( )关键字来定义。_学小易找答案...

    [填空题]每一个 else 子句都必须和它前面的一个距离它最近的 子句相对应. [单选题]有关类的说法,正确的是( ) [单选题]在JAVA中,无论测试条件是什么,下列( )循环体 将至少执行一次. ...

  6. java开心消消乐代码_Java小项目之:教你做开心消消乐!

    Java小项目之:教你做个开心消消乐! 今天给大家带来的小项目是开心消消乐(连连看),还是一样的惯例.操作简单,适合java初学者练手.想看其他java小项目的朋友可以关注我,我会持续更新,也可以私信 ...

  7. java开心消消乐代码_Java小项目之:教你做个开心消消乐!

    Java小项目之:教你做个开心消消乐! 今天给大家带来的小项目是开心消消乐(连连看),还是一样的惯例.操作简单,适合java初学者练手.想看其他java小项目的朋友可以关注我,我会持续更新,也可以私信 ...

  8. java小项目租车系统_Java小作业--嘻嘻租车小系统

    Java作业–租车小系统 项目介绍: 根据所学知识,编写一个控制台版的"嘻嘻租车系统" 功能: 展示所有可租车辆 选择车型.租车天数 展示租车清单,包括:总金额.总载货量及其车型 ...

  9. java改变数据库配置文件信息_JAVA应用修改数据库链接信息一般在哪个配置文件中?...

    [多选题]测试软件按照技术架构分可以分为哪些类别 [单选题]成本加成定价法虽然简便易行,但它也存在一定的缺点.缺点主要是 [判断题]在两性特征中,女性的分配特性更好一点,而男性的左右半球交叉好一点. ...

最新文章

  1. 两个数据库字符集不一样,如何快速增量同步数据.
  2. python3 sha 系列 hex 加密 以sha256为例
  3. solr的空间查询(查询地图周围坐标)
  4. 如何查看一个组件的 classid是多少_如何查看iphone电池使用次数?6s电池容量多少需要更换?...
  5. NLP大魔王 · BERT 全解读
  6. 什么软件可以搜c语言的答案,跪求C语言答案
  7. 传智播客黑马java 30期_黑马传智播客JavaEE57期 2019最新基础+就业+在职加薪_汇总...
  8. TypeScript 获取时间戳
  9. Java案例:功夫熊猫
  10. 聊聊关于软件质量的思考
  11. basemap库安装教程
  12. Qt创建Qt Designer自定义控件及使用
  13. OSError: [WinError 1455] 页面文件太小,无法完成操作 报错解决
  14. 【游戏开发创新】自学Blender建模,自制孔明灯,在Unity中点亮整个星空,愿新年,胜旧年(Unity | 建模 | 粒子系统 | 预设)
  15. 秋天网站快速部署系统 一.入门使用
  16. 10大协作办公工具:实现团队工作效率最大化
  17. python快速排名seo代码_seo评价机制图(python快速排名seo)
  18. .so是什么文件_Linux的so文件到底是干嘛的?浅析Linux的动态链接库
  19. 整理几个叮咚抢菜、美团买菜助手
  20. java 二进制 2个字节 高位 低位_高位字节、低位字节

热门文章

  1. Linux驱动编程--基于I2C子系统的I2C驱动
  2. 项目管理笔记(观念)
  3. Linux 命令(61)—— ldd 命令
  4. Mongoose多数据库连接及实用样例
  5. scrapy爬虫框架入门实战
  6. IntelliJ IDEA的安装详解
  7. 深入理解jsonp跨域请求原理
  8. Merge into的使用详解-你Merge了没有【转】
  9. iScroll框架的修改
  10. Java中J.U.C扩展组件之ForkJoinTask和ForkJoinPool