求作业 编写一个图形界面的Java Application程序

怎样用java编写图形界面的Application程序?~

java编写图形界面需要用到swing等组件,可以在eclipse中安装windowbuilder来开发窗体,自动生成窗体代码,然后自己再根据需要修改,如:
package mainFrame;
import java.awt.EventQueue;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame。
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

你好,按照你的要求代码如下,可以直接运行

import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.util.Arrays;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class SplitFrame extends JFrame {

private JTextArea textArea_1;
private JTextArea textArea;

public static void main(String args[]) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
SplitFrame frame = new SplitFrame();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

public SplitFrame() {
super();
getContentPane().setLayout(null);
setBounds(100, 100, 500, 383);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

final JButton button = new JButton();
button.addActionListener(new ActionListener() {
public void actionPerformed(final ActionEvent e) {
textArea.setText(null);
textArea_1.setText(null);
}
});
button.setText("清空");
button.setBounds(195, 310, 106, 28);
getContentPane().add(button);

final JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(23, 46, 207, 240);
getContentPane().add(scrollPane);

textArea = new JTextArea();
scrollPane.setViewportView(textArea);
textArea.addKeyListener(new KeyAdapter() {
public void keyReleased(final KeyEvent e) {
String str = textArea.getText();
String[] a = str.split("[ ,
]");
Arrays.sort(a);
textArea_1.setText(null);
for (String s : a) {
if (!"".equals(s.trim())) {
textArea_1.append(s + "
");
}
}
}
});

final JScrollPane scrollPane_1 = new JScrollPane();
scrollPane_1.setBounds(252, 46, 207, 240);
getContentPane().add(scrollPane_1);

textArea_1 = new JTextArea();
scrollPane_1.setViewportView(textArea_1);
textArea_1.setEditable(false);

final JLabel label = new JLabel();
label.setText("在此输入");
label.setBounds(93, 22, 66, 18);
getContentPane().add(label);

final JLabel label_1 = new JLabel();
label_1.setText("即时排序");
label_1.setBounds(328, 22, 66, 18);
getContentPane().add(label_1);
}
}

/**
* 学生类
* @author Shurrik
*/
public class Student {
private String sid;
private String sname;
private int sage;
private char gender;
private String specialty;
private int grade;

public Student(String sid, String sname, int sage, char gender,
String specialty, int grade) {
super();
this.sid = sid;
this.sname = sname;
this.sage = sage;
this.gender = gender;
this.specialty = specialty;
this.grade = grade;
}

public String getSid() {
return sid;
}

public void setSid(String sid) {
this.sid = sid;
}

public String getSname() {
return sname;
}

public void setSname(String sname) {
this.sname = sname;
}

public int getSage() {
return sage;
}

public void setSage(int sage) {
this.sage = sage;
}

public char getGender() {
return gender;
}

public void setGender(char gender) {
this.gender = gender;
}

public String getSpecialty() {
return specialty;
}

public void setSpecialty(String specialty) {
this.specialty = specialty;
}

public int getGrade() {
return grade;
}

public void setGrade(int grade) {
this.grade = grade;
}

}

----------------------偶是分割线------------------------

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

/**
* 学生管理者类
* @author Shurrik
*/
public class StudentManager {
private String filePath;
private Student stu;

public StudentManager(String filePath,Student stu) {
this.filePath = filePath;
this.stu = stu;

}

/**
* 按学号读取并返回学生信息
* @param sid 学号
* @return 学生信息
*/
public String loadStudentInfo(String sid) {
File StudentInfoFile = new File(this.filePath+"\\"+sid+".txt");
String StudentInfo = "";
try {
FileReader fr = new FileReader(StudentInfoFile);
BufferedReader reader = new BufferedReader(fr);
String line = "";
while((line = reader.readLine()) != null){
StudentInfo += line+"\r\n";
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return StudentInfo;
}

/**
* 保存学生信息以文本文档的形式存入硬盘中
*/
public void saveStudentInfo() {
File StudentInfoFile = new File(this.filePath+"\\"+stu.getSid()+".txt");
try {
FileWriter fw = new FileWriter(StudentInfoFile);
BufferedWriter writer = new BufferedWriter(fw);
writer.write("学号:"+stu.getSid()+"\r\n");
writer.write("姓名:"+stu.getSname()+"\r\n");
writer.write("年龄:"+stu.getSage()+"\r\n");
writer.write("性别:"+stu.getGender()+"\r\n");
writer.write("专业:"+stu.getSpecialty()+"\r\n");
writer.write("成绩:"+stu.getGrade());
writer.close();
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

----------------------偶是分割线------------------------

import java.io.File;
/**
* 测试类
* @author Shurrik
*/
public class Test {
public static void main(String[] args) {
Student stu = new Student("S2010001", "Jack", 21, '男', "Java", 94);
String filePath = "D:\\StudentInfo";
File folder = new File(filePath);
if(!folder.exists()){
folder.mkdirs();
}
StudentManager manager = new StudentManager(filePath, stu);
manager.saveStudentInfo();
String StudentInfo = manager.loadStudentInfo("S2010001");
System.out.println(StudentInfo);
}
}

基本满足了你的要求,其他功能很容易扩展,自己写写看吧。

相关兴趣推荐

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网