java应用小程序计算器

头像
碗碗小公主   2021-09-18   2070浏览
已有115条回答
头像
Loli心的怪蜀黎
2022-08-30

以前用JBuilder2006写的 记事本 应该可以帮你 记的类名一样要和文件名一样
要给我加分哦
import java.io.*;
import java.util.Calendar;
import java.awt.*;
import java.awt.event.*;

import javax.swing.*;
public class NoteBook extends JFrame implements ActionListener,ItemListener,WindowListener,MouseListener{
Container c = this.getContentPane();
JMenuBar jmb = new JMenuBar();
JColorChooser jcc = new JColorChooser();

JMenu jm1 = new JMenu("文件(F)");
JMenu jm2 = new JMenu("编辑(E)");
JMenu jm3 = new JMenu("格式(O)");
JMenu jm4 = new JMenu("查看(V)");
JMenu jm5 = new JMenu("帮助(H)");

JMenuItem jmi1 = new JMenuItem("新建(N)");
JMenuItem jmi2 = new JMenuItem("打开(O)");
JMenuItem jmi3 = new JMenuItem("保存(S)");
JMenuItem jmi4 = new JMenuItem("退出(X)");

JMenuItem jmi5 = new JMenuItem("撤消(U)");
JMenuItem jmi6 = new JMenuItem("复制(C)");
JMenuItem jmi7 = new JMenuItem("粘贴(P)");
JMenuItem jmi8 = new JMenuItem("剪切(T)");
JMenuItem jmi12 = new JMenuItem("日期和时间");

JMenuItem jmi9 = new JMenuItem("字体(E)");
JCheckBoxMenuItem jcbmi = new JCheckBoxMenuItem("自动换行(W)");

JMenuItem jmi10 = new JMenuItem("删除(S)");

JMenuItem jmi11 = new JMenuItem("背景颜色(H)");

JTextArea jta = new JTextArea(15,15);

JScrollPane jsp = new JScrollPane(jta);
//PupolMenu pm = new Pupolmenu();

NoteBook(){
this.addWindowListener(this);
c.setLayout(new BorderLayout());
c.add(jmb,BorderLayout.NORTH);
this.setTitle("新建 文本文档");
jmb.add(jm1);
jm1.setMnemonic('f');
jm1.addActionListener(this);
jmb.add(jm2);
jm2.setMnemonic('e');
jmb.add(jm3);
jm3.setMnemonic('o');
jmb.add(jm4);
jm4.setMnemonic('v');
jmb.add(jm5);
jm5.setMnemonic('h');

jm1.add(jmi1);
jmi1.addActionListener(this);
jmi1.setAccelerator(KeyStroke.getKeyStroke('N',Event.CTRL_MASK,false));
jm1.addSeparator();
jm1.add(jmi2);
jmi2.setAccelerator(KeyStroke.getKeyStroke('O',Event.CTRL_MASK,false));
jmi2.addActionListener(this);
jm1.addSeparator();
jm1.add(jmi3);
jmi3.setAccelerator(KeyStroke.getKeyStroke('S',Event.CTRL_MASK,false));
jmi3.addActionListener(this);
jm1.addSeparator();
jm1.add(jmi4);
jmi1.setMnemonic('n');
jmi2.setMnemonic('o');
jmi3.setMnemonic('s');
jmi4.setMnemonic('x');
jmi4.addActionListener(this);

jm2.add(jmi5);
jm2.addSeparator();
jm2.add(jmi6);
jm2.addSeparator();
jm2.add(jmi7);
jm2.addSeparator();
jm2.add(jmi8);
jm2.add(jmi12);
jmi12.addActionListener(this);

jm3.add(jcbmi);
jcbmi.addItemListener(this);
jm3.addSeparator();
jm3.add(jmi9);

jm4.add(jmi10);
jmi10.addActionListener(this);

jm5.add(jmi11);
jmi11.addActionListener(this);

c.add(jsp);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
this.setSize(500,500);
this.setVisible(true);

}
public void actionPerformed(ActionEvent e){
if(e.getSource()==jmi1){
jta.setText("");
this.setTitle("无标题 - 记事本");
}
if(e.getSource()==jmi2){
File f1;
JFileChooser jfc1 = new JFileChooser();
int num1 = jfc1.showOpenDialog(this);
if(num1==JFileChooser.APPROVE_OPTION){
try{
f1 = jfc1.getSelectedFile();
this.setTitle(f1.getName());
FileReader fr = new FileReader(f1);
BufferedReader br = new BufferedReader(fr);
String str;
while((str = br.readLine())!=null){
jta.setText(str);
}
fr.close();
br.close();
}catch(FileNotFoundException e1){
e1.printStackTrace();
}catch(IOException e2){
e2.printStackTrace();
}
}
}
if(e.getSource()==jmi3){
File f2 = null;
JFileChooser jfc2 = new JFileChooser();
int num2 = jfc2.showSaveDialog(this);
if(num2==JFileChooser.APPROVE_OPTION){
f2=jfc2.getSelectedFile();
this.setTitle(f2.getName());
try{
FileWriter fw = new FileWriter(f2);
BufferedWriter bw = new BufferedWriter(fw);

bw.write(jta.getText());
bw.close();
fw.close();
}catch(IOException e2){
e2.printStackTrace();
}
}

}
if(e.getSource()==jmi4){
int a = JOptionPane.showConfirmDialog(this,"文件已被改变,是否要保存?","提示",JOptionPane.YES_NO_CANCEL_OPTION);
if(a==1){
this.dispose();
}else if(a==0){
File f2 = null;
JFileChooser jfc2 = new JFileChooser();
int num2 = jfc2.showSaveDialog(this);
if(num2==JFileChooser.APPROVE_OPTION){
f2=jfc2.getSelectedFile();
this.setTitle(f2.getName());
try{
FileWriter fw = new FileWriter(f2);
BufferedWriter bw = new BufferedWriter(fw);

bw.write(jta.getText());
bw.close();
fw.close();
}catch(IOException e2){
e2.printStackTrace();
}
this.dispose();
}

}
}
if(e.getSource()==jmi12){
Calendar c1 =Calendar.getInstance();
int y = c1.get(Calendar.YEAR);
int m = c1.get(Calendar.MONTH);
int d = c1.get(Calendar.DATE);
int h = c1.get(Calendar.HOUR);
int m1 = c1.get(Calendar.MINUTE);
int m2 = m+1;
jta.setText(y+"年"+m2+"月"+d+"日"+h+":"+m1);
}
if(e.getSource()==jmi11){
Color ccc = JColorChooser.showDialog(this,"color",Color.BLACK);
jta.setSelectedTextColor(ccc);
jta.setBackground(ccc);
}
if(e.getSource()==jmi10){
jta.replaceRange("",jta.getSelectionStart(),jta.getSelectionEnd());
}

}
public void itemStateChanged(ItemEvent e2){
if(e2.getItemSelectable()==jcbmi){
jta.setLineWrap(true);
}else
jta.setLineWrap(false);

}
public static void main(String[] args){
new NoteBook();
}
public void windowOpened(WindowEvent arg0) {

}
public void windowClosing(WindowEvent arg0) {

int a = JOptionPane.showConfirmDialog(this,"文件已被改变,是否要保存?","提示",JOptionPane.YES_NO_CANCEL_OPTION);
if(a==1){
this.dispose();
}else if(a==0){
File f2 = null;
JFileChooser jfc2 = new JFileChooser();
int num2 = jfc2.showSaveDialog(this);
if(num2==JFileChooser.APPROVE_OPTION){
f2=jfc2.getSelectedFile();
this.setTitle(f2.getName());
try{
FileWriter fw = new FileWriter(f2);
BufferedWriter bw = new BufferedWriter(fw);

bw.write(jta.getText());
bw.close();
fw.close();
}catch(IOException e2){
e2.printStackTrace();
}
}
if(a==2){
////????/????????????????????????????????????????????????????????????????//
}
}
}
public void windowClosed(WindowEvent arg0) {

}
public void windowIconified(WindowEvent arg0) {
// TODO Auto-generated method stub

}
public void windowDeiconified(WindowEvent arg0) {
// TODO Auto-generated method stub

}
public void windowActivated(WindowEvent arg0) {
// TODO Auto-generated method stub

}
public void windowDeactivated(WindowEvent arg0) {
// TODO Auto-generated method stub

}
public void mouseClicked(MouseEvent arg0) {
// TODO Auto-generated method stub

}
public void mousePressed(MouseEvent arg0) {
// TODO Auto-generated method stub

}
public void mouseReleased(MouseEvent arg0) {
// TODO Auto-generated method stub

}
public void mouseEntered(MouseEvent arg0) {
// TODO Auto-generated method stub

}
public void mouseExited(MouseEvent arg0) {
// TODO Auto-generated method stub

}
}

66

头像
无敌小雷神
2022-07-14

随便找一本学习java的书上都会有相应的例子的
记得《java核心技术》卷1上就有现成的

50

头像
whahappy502
2022-04-02

百度

131

相关问题

java应用小程序计算器
天使之懿727 1970-01-01

是期末的课程设计阿!或是什么日历阿,画图程序等等一类都是可以的能较差就行啊

用JAVA实现一个计算器的应用程序
fionazhang77 1970-01-01

用JAVA实现一个计算器的应用程序,要可视化界面的,要求实现基本的+,-,*,/运算急!!与windows自带的样式差不多··

用java程序编写一个计算器
起舞徘徊风露下 1970-01-01

用java程序编写一个计算器:有最小化,最大化及关闭按钮。有数字1到4.能实现基本加减乘除算法。

用Java设计一个图形界面(GUI)的计算器应用程序。
非非1227 1970-01-01

设计的计算器应用程序可以完成家法、减法、乘法、除法和取余运算。且有小数点、正负号、求倒数、退格和清零功能。急急急!!!拜托!!!!

高手帮忙用Java设计个计算器程序!
chocolate宸 1970-01-01

用Java实现一个applet计算器程序,要有+,-,*,/功能。会做的朋友帮帮忙,小弟先谢过各位了!还有更简单点的答案吗?

用java编得计算器程序软件和源代码
CSYMiracle 1970-01-01

用java编好的程序,而且生成软件,和源代码

用VB程序设计计算器
小琳子雄霸天下 1970-01-01

用java设计计算器
天道酬勤1212 1970-01-01

最新问答

排水论文在哪发?
伊兰0518 2021-09-19

小区市外排水论文发哪个杂志可以呢?我需要发表一篇这方面的论文。

word转pdf,为什么不显示图片图片?
花花的老妈 2021-09-19

我想把论文从word格式转换成PDF格式,用的金山WPS,可转换完成之后,里面的流程图就不见了,空白~~这是为什么呢?谁能帮我解决一下!谢谢!

公众号与小程序有什么区别
汤糖躺烫湯 2021-09-19

公众号与小程序有什么区别

如何制作电子小报
dream959595 2021-09-19

镀铬什么意思
autumngold 2021-09-19

镀铬什么意思

中国电影艺术的思想
幸福顺延 2021-09-19

中国针灸大纲作者是谁?
王子麻麻 2021-09-19

热门问答

排水论文在哪发?
伊兰0518 2021-09-19

小区市外排水论文发哪个杂志可以呢?我需要发表一篇这方面的论文。

word转pdf,为什么不显示图片图片?
花花的老妈 2021-09-19

我想把论文从word格式转换成PDF格式,用的金山WPS,可转换完成之后,里面的流程图就不见了,空白~~这是为什么呢?谁能帮我解决一下!谢谢!

公众号与小程序有什么区别
汤糖躺烫湯 2021-09-19

公众号与小程序有什么区别

如何制作电子小报
dream959595 2021-09-19

镀铬什么意思
autumngold 2021-09-19

镀铬什么意思

中国电影艺术的思想
幸福顺延 2021-09-19

中国针灸大纲作者是谁?
王子麻麻 2021-09-19

Coptyright © www.lw85.com电脑版