编写一个Java应用程序,要求如下:

(1)设计一个你最拿手的图形用户界面,至少包含一个顶层容器,一个中间容器和三种以上的控件,要使用布局管理器,并设计尽量合理美观;
(2)完成事件处理,至少完整处理一类事件。

我刚好谢了一个 绝对原创
用到了图片,你可以将图片的代码删掉

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

import java.io.*;

public class Notepad extends JFrame implements ActionListener {

JMenuBar jbar;                                        //菜单条
JMenu wj,bj,bz;       //菜单
JMenuItem open,save,osave,exit,help,me;               //菜单项
JTextArea jta;                                        //文本区

public Notepad(){
jbar = new JMenuBar();

wj = new JMenu("文件");
bj = new JMenu("编辑");
bz = new JMenu("帮助");
jbar.add(wj);
jbar.add(bj);
jbar.add(bz);
setJMenuBar(jbar);

open = new JMenuItem("打开",new ImageIcon("img/dk.png"));
open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
wj.add(open);
open.addActionListener(this);
open.setActionCommand("open");
wj.addSeparator();
save = new JMenuItem("保存");
wj.add(save);
save.addActionListener(this);
save.setActionCommand("save");
osave = new JMenuItem("另存为",new ImageIcon("img/bc.png"));
wj.add(osave);
osave.addActionListener(this);
osave.setActionCommand("osave");
wj.addSeparator();
exit = new JMenuItem("退出");
wj.add(exit);
exit.addActionListener(this);
exit.setActionCommand("exit");
help = new JMenuItem("查看帮助");
bz.add(help);
bz.addSeparator();
me = new JMenuItem("关于记事本");
bz.add(me);

jta = new JTextArea();
this.add(new JScrollPane(jta),BorderLayout.CENTER);

this.setVisible(true);
this.setSize(500,400);
this.setTitle("桃子记事本");
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public void actionPerformed(ActionEvent e){

if(e.getActionCommand().equals("open")){
JFileChooser jfc = new JFileChooser();
jfc.setDialogTitle("请选择文件");
jfc.showOpenDialog(null);
jfc.setVisible(true);

String filepath = jfc.getSelectedFile().getAbsolutePath();

FileReader fr=null;
BufferedReader br=null;
try{
fr = new FileReader(filepath);
br = new BufferedReader(fr);

String s="";
String b="";
while((s=br.readLine())!=null){
b+=s+"\r\n";
//System.out.println(s);
}
jta.setText(b);
}catch(Exception e1){
e1.printStackTrace();
}finally{
try {
br.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}

else if(e.getActionCommand().equals("osave")){
JFileChooser jfc = new JFileChooser();
jfc.setDialogTitle("请选择路径");
jfc.showSaveDialog(null);
jfc.setVisible(true);

String filepath = jfc.getSelectedFile().getAbsolutePath();

FileWriter fw=null;
BufferedWriter bw=null;
try{
fw = new FileWriter(filepath);
bw = new BufferedWriter(fw);
bw.write(jta.getText());
}catch(Exception e2){
e2.printStackTrace();
}finally{
try {
bw.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
else if(e.getActionCommand().equals("exit")){
System.exit(0);
}
}
}
温馨提示:内容为网友见解,仅供参考
无其他回答

用JAVA编写一个程序,要求如下:
import java.util.Scanner;public class StudentTest {public static void main(String[] args) {Student student = new Student();Scanner sc = new Scanner(System.in);System.out.println("请输入姓名:");student.setName(sc.next());System.out.println("请输入性别:");student.setSex(sc....

...包含接口ShapeArea,类Circle、Rectangle、Test,具体要求如下...
\/\/ File: Test.java \/\/下面是具体的代码,要在命令提示符中运行,再者.记得给分哦!!_^_\/\/把下面的代码复制到同一个文件中,把名字改为:Test.java 然后编译,运行就可以了~interface ShapeArea{ double getArea();double getPerimeter();} class Rectangle implements ShapeArea{ double width;doubl...

根据以下任务要求,编写Java应用程序?
System.out.println(stu.getName()+"是个合格学生");} } }

试编写一个java应用程序,要求输入一个圆的半径,输出其面积
Scanner scanner=new Scanner(System.in);System.out.println("请输入圆的半径:");int r=Integer.parseInt(scanner.next()); \/\/获取半径System.out.println("圆的面积为:"+Math.PI*r*r);

编写一个Java应用程序,要求如下:
我刚好谢了一个 绝对原创用到了图片,你可以将图片的代码删掉import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;public class Notepad extends JFrame implements ActionListener {JMenuBar jbar; \/\/菜单条JMenu wj,bj,bz; \/\/菜单JMenuItem open,save,osav...

用java编一个程序,要求如下,希望哪位大虾帮帮忙,很急!!!
import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.ButtonGroup;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JRadioButton;import javax.swing....

java的继承调用实例?
编写一个Java应用程序,该程序包括3个类:Monkey类、People类和主类 E。要求:(1)Monkey类中有个构造方法:Monkey(Strings),并且有个publicvoidspeak()方法,在speak方法中输出“咿咿呀呀...”的信息。(2)People类是Monkey类的子类,在People类中重写方法speak(),在speak方法 中输出“小样的,不错...

用JAVA语言编写下面的题目: 一个数如果恰好等于它的因子之和,这个数称...
按照你的要求打印1000以内完数的Java程序如下:public class WanQuanShu { public static void main(String[] args) { int i,j,k; \/\/定义整型变量i,j,k 用于for循环 int []sector=new int[32]; \/\/定义整型数组用于存放完全数的每个因子 for(i=1;i<=1000;i++){ \/\/for循环...

请自己编写任意一个JAVA程序,要求如下: (1)包括类、子类、继承、创建对...
class Animal{ int age;\/\/属性 } class dog extends Animal{ \/\/继承 String name;public dog(String name)\/\/构造方法 {this.name=name;} } public class Test { public static void main(String args[]){ Dog d=new Dog("小黄");\/\/建立对象 d.age=15; \/\/从Animal继承过来的属性。

编写一个Java的应用程序,输出自己的名字100次,例如:李三1,李三2
其实现如下所写:public class OutName { public static void main(String [] args){ for(i=1;i<=100;i++){ System.out.println("李三"+i);} } } 他没定义i,运行不了 这个行 public class q1 { public static void main(String [] args) { for(int i = 1; i <= 100; i ++...

相似回答