您的位置:首页 > 编程语言 > Java开发

针对java实验的思考(三)

2015-12-23 00:27 507 查看

题目:

编写一个Java源程序,其中包含:

编写一个包含主方法main的公共类(访问权限为public的类),该类继承自窗体类JFrame,并且,该类实现了接口ActionListener(也就是说,实现了接口ActionListener的方法actionPerformed)。

源程序实现的任务是实现如下图所示的图形用户界面:



(1)可以在“请输入文件路径和名称:”后面的文本框中输入文件名和路径。

(2)可以在文本区中写文本,例如,文本区中的前三行内容。

(3)可以在“请输入需要追加的内容:”后面的文本域中输入内容,按回车键之后,其中的内容会添加到文本区中(添加的内容另起一行),例如,文本区中的“北京”。

(4)单击“将文本区的内容写入文件”按钮,文本区中的内容就会被写到指定的文件中,如下图所示。



注意事项:

如果JPanel jP1;不new JPanel() 那么运行时会报错Exception in thread "main" java.lang.NullPointerException。

不进行new就无法分配内存空间给jP1,main就无法指向jP1

如果界面没有显示,则是没有写setVisible(true);

jtextarea.setLocation(0,150);

jtextarea.setSize(600,200);

add(jtextarea);

add(jP,BorderLayout.CENTER);

如果先add(jP,BorderLayout.CENTER);后jtextarea.setLocation(0,150); jtextarea.setSize(600,200);add(jtextarea);

则界面jtextarea会覆盖掉jP.

源代码:

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.*;

import javax.swing.*;

public class ex6 extends JFrame implements ActionListener{

JTextArea jtextarea=new JTextArea();

JLabel jlabel;

JButton jbutton=new JButton("将文本区的内容写入文件");

JTextField jtextfield1=new JTextField(25);

JTextField jtextfield2=new JTextField(25);

JPanel jP1=new JPanel();

JPanel jP2=new JPanel();

JPanel jP3=new JPanel();

JPanel jP=new JPanel();

ex6() {

jP1.add(new JLabel("请输入文件路径和名称:"));

jP1.add(jtextfield1);

jP2.add(new JLabel("请输入需要追加的内容:"));

jP2.add(jtextfield2);

jP.add(jP1);

jP.add(jP2);

jbutton.setSize(200,30);

jbutton.setLocation(80,80);

add(jbutton);

jbutton.addActionListener(this);

jtextfield1.addActionListener(this);

jtextfield2.addActionListener(this);

jtextarea.setLocation(0,150);

jtextarea.setSize(600,200);

add(jtextarea);

add(jP,BorderLayout.CENTER);

setTitle("添加文本");

setSize(600, 400);

setLocation(100,100);

setVisible(true);

// TODO Auto-generated constructor stub

}

public static void main(String[]args){

new ex6();

}

public void actionPerformed(ActionEvent e) {

try {

if(e.getSource()==jbutton)

{

String text[] = jtextarea.getText().split("[\\r\\n]");

FileWriter fw;

fw = new FileWriter(jtextfield1.getText());

for(int i = 0; i < text.length; i++){

fw.write(text[i]);

fw.write("\r\n");

}

fw.close();

}

}

catch (IOException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

// TODO Auto-generated method stub

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: