
//百度文库找的,可费了我的财富值了,你可要把分给我呀。
package lee;
/文件名:Calculatorjava
说明:简易科学计算器
/
import javaawt;
import javaawtevent;
import javaxswing;
public class Calculator extends Frame implements ActionListener, WindowListener
{
private Container container;
private GridBagLayout layout;
private GridBagConstraints constraints;
private JTextField displayField; //计算结果显示区
private String lastCommand; //保存+,-,,/,=命令0
private double result; //保存计算结果
private boolean start; //判断是否为数字的开始
private JMenuBar menubar;
private JMenuItem m_exit,m2_ejz,m2_bjz;
private Dialog dialog;
private Label label_dialog;
private JButton button_sqrt,button_plusminus,button_CE,button_cancel,button_1,button_2,
button_3,button_4,button_5,button_6,button_7,button_8,button_9,button_0,
button_plus,button_minus,button_multiply,button_divide,button_point,
button_equal,button_log,button_tan,button_cos,button_sin,button_exp;
public Calculator() //构造方法设置布局、为按钮注册事件监听器
{
super("Calculator");
thissetLocation(240,200);
thissetSize(350,300);
thissetResizable(true);
thissetLayout(new GridLayout(7,1));
thisaddmyMenu(); //调用成员方法添加菜单
displayField=new JTextField(30);
thisadd(displayField);
displayFieldsetEditable(true);
start=true;
result=0;
lastCommand = "=";
JPanel panel0=new JPanel();
panel0setLayout(new GridLayout(1,4,4,4));
JPanel panel1=new JPanel();
panel1setLayout(new GridLayout(1,5,4,4));
thisadd(panel1);
button_sqrt=new JButton("sqrt");
button_plusminus=new JButton("+/-");
button_exp=new JButton("exp");
button_CE=new JButton("退格");
button_cancel=new JButton("C");
JPanel panel2=new JPanel();
panel2setLayout(new GridLayout(1,5,4,4));
thisadd(panel2);
button_7=new JButton("7");
button_8=new JButton("8");
button_9=new JButton("9");
button_log=new JButton("log");
button_divide=new JButton("/");
JPanel panel3=new JPanel();
panel3setLayout(new GridLayout(1,5,4,4));
thisadd(panel3);
button_4=new JButton("4");
button_5=new JButton("5");
button_6=new JButton("6");
button_tan=new JButton("tan");
button_multiply=new JButton("");
JPanel panel4=new JPanel();
panel4setLayout(new GridLayout(1,5,4,4));
thisadd(panel4);
button_1=new JButton("1");
button_2=new JButton("2");
button_3=new JButton("3");
button_cos=new JButton("cos");
button_minus=new JButton("-");
JPanel panel5=new JPanel();
panel5setLayout(new GridLayout(1,5,4,4));
thisadd(panel5);
button_0=new JButton("0");
button_point=new JButton("");
button_equal=new JButton("=");
button_sin=new JButton("sin");
button_plus=new JButton("+");
panel1add(button_sqrt);
panel1add(button_plusminus);
panel1add(button_exp);
panel1add(button_CE);
panel1add(button_cancel);
panel2add(button_7);
panel2add(button_8);
panel2add(button_9);
panel2add(button_log);
panel2add(button_divide);
panel3add(button_4);
panel3add(button_5);
panel3add(button_6);
panel3add(button_tan);
panel3add(button_multiply);
panel4add(button_1);
panel4add(button_2);
panel4add(button_3);
panel4add(button_cos);
panel4add(button_minus);
panel5add(button_0);
panel5add(button_point);
panel5add(button_equal);
panel5add(button_sin);
panel5add(button_plus);
button_sqrtaddActionListener(this);
button_plusminusaddActionListener(this);
button_expaddActionListener(this);
button_CEaddActionListener(this);
button_canceladdActionListener(this);
button_7addActionListener(this);
button_8addActionListener(this);
button_9addActionListener(this);
button_logaddActionListener(this);
button_divideaddActionListener(this);
button_4addActionListener(this);
button_5addActionListener(this);
button_6addActionListener(this);
button_tanaddActionListener(this);
button_multiplyaddActionListener(this);
button_1addActionListener(this);
button_2addActionListener(this);
button_3addActionListener(this);
button_cosaddActionListener(this);
button_minusaddActionListener(this);
button_0addActionListener(this);
button_pointaddActionListener(this);
button_equaladdActionListener(this);
button_sinaddActionListener(this);
button_plusaddActionListener(this);
thisaddWindowListener(new WinClose()); //注册窗口监听器
thissetVisible(true);
}
private void addmyMenu() //菜单的添加
{
JMenuBar menubar=new JMenuBar();
thisadd(menubar);
JMenu m1=new JMenu("选项");
JMenu m2=new JMenu("进制转换");
JMenuItem m1_exit=new JMenuItem("退出");
m1_exitaddActionListener(this);
JMenuItem m2_ejz=new JMenuItem("二进制");
m2_ejzaddActionListener(this);
JMenuItem m2_bjz=new JMenuItem("八进制");
m2_bjzaddActionListener(this);
JMenu m3 = new JMenu(" 帮助");
JMenuItem m3_Help = new JMenuItem("用法");
m3_HelpaddActionListener(this);
dialog = new Dialog(this,"提示",true); //模式窗口
dialogsetSize(240,80);
label_dialog = new Label("",LabelCENTER); //标签的字符串为空,居中对齐
dialogadd(label_dialog);
dialogaddWindowListener(this); //为对话框注册窗口事件监听器
m1add(m1_exit);
menubaradd(m1);
m2add(m2_ejz);
m2add(m2_bjz);
menubaradd(m2);
m3add(m3_Help);
menubaradd(m3); }
public void actionPerformed(ActionEvent e) //按钮的单击事件处理方法
{
if(egetSource()equals(button_1)||egetSource()equals(button_2)||
egetSource()equals(button_3)||egetSource()equals(button_4)||
egetSource()equals(button_5)|| egetSource()equals(button_6)||
egetSource()equals(button_7)|| egetSource()equals(button_8)||
egetSource()equals(button_9) ||egetSource()equals(button_0)||
egetSource()equals(button_point)||egetSource()equals(button_plusminus)||
egetSource()equals(button_cancel)||egetSource()equals(button_CE))
{ //非运算符的处理方法
String input=egetActionCommand();
if (start)
{
displayFieldsetText("");
start=false;
if(inputequals("+/-"))
displayFieldsetText(displayFieldgetText()+"-");
}
if(!inputequals("+/-"))
{
String str=displayFieldgetText();
if(inputequals("退格")) //退格键的实现方法
{
if(strlength()>0)
displayFieldsetText(strsubstring(0,strlength()-1));
}
else if(inputequals("C")) //清零键的实现方法
{
displayFieldsetText("0");
start=true;
}
else
displayFieldsetText(displayFieldgetText()+input);
}
}
else if (egetActionCommand()=="二进制") //二进制的转换
{
int n=IntegerparseInt(displayFieldgetText());
displayFieldsetText(IntegertoBinaryString(n));
}
else if (egetActionCommand()=="八进制") //八进制的转换
{
int n=IntegerparseInt(displayFieldgetText());
displayFieldsetText(IntegertoOctalString(n));
}
else if (egetActionCommand()=="退出") //选项中退出的处理方法
{
Systemexit(0);
}
else if (egetActionCommand()=="用法") //按下'帮助'菜单栏中用法的处理方法
{
label_dialogsetText("sqrt,exp等键是先输运算符再输数字\n");
dialogsetLocation(400,250);
dialogsetVisible(true);
}
else //各运算符的识别
{
String command=egetActionCommand();
if(start)
{
lastCommand=command;
}
else
{
calculate(DoubleparseDouble(displayFieldgetText()));
lastCommand=command;
start=true;
}
}
}
public void calculate(double x) //各运算符的具体运算方法
{
double d=0;
if (lastCommandequals("+"))
result+= x;
else if (lastCommandequals("-"))
result-=x;
else if (lastCommandequals(""))
result=x;
else if (lastCommandequals("/"))
result/=x;
else if (lastCommandequals("="))
result=x;
else if (lastCommandequals("sqrt"))
{
d=Mathsqrt(x);
result=d;
}
else if (lastCommandequals("exp"))
{
d=Mathexp(x);
result=d;
}
else if (lastCommandequals("log"))
{
d=Mathlog(x);
result=d;
}
else if (lastCommandequals("tan"))
{
d=Mathtan(x);
result=d;
}
else if (lastCommandequals("cos"))
{
d=Mathcos(x);
result=d;
}
else if (lastCommandequals("sin"))
{
d=Mathsin(x);
result=d;
}
displayFieldsetText(""+ result);
}
public void windowClosing(WindowEvent e)
{
if(egetSource()==dialog)
dialogsetVisible(false); //隐藏对话框
else
Systemexit(0);
}
public void windowOpened(WindowEvent e) { }
public void windowActivated(WindowEvent e) { }
public void windowDeactivated(WindowEvent e) { }
public void windowClosed(WindowEvent e) { }
public void windowIconified(WindowEvent e) { }
public void windowDeiconified(WindowEvent e) { }
public static void main(String args[])
{
Calculator calculator=new Calculator();
}
}
class WinClose implements WindowListener
{
public void windowClosing(WindowEvent e) //单击窗口关闭按钮时触发并执行实现窗口监听器接口中的方法
{
Systemexit(0); //结束程序运行
}
public void windowOpened(WindowEvent e){}
public void windowActivated(WindowEvent e){}
public void windowDeactivated(WindowEvent e){}
public void windowClosed(WindowEvent e){}
public void windowIconified(WindowEvent e){}
public void windowDeiconified(WindowEvent e){}
}
import javaawteventActionEvent;
import javaawteventActionListener;
import javaxswingJFrame;
import javaxswingJOptionPane;
public class Linglinggong77 extends JFrame {
public Linglinggong77() {
initComponents();
}
private void initComponents() {
jScrollPane1 = new javaxswingJScrollPane();
jTextArea1 = new javaxswingJTextArea();
jPanel1 = new javaxswingJPanel();
jLabel1 = new javaxswingJLabel();
jTextField1 = new javaxswingJTextField();
jLabel2 = new javaxswingJLabel();
jTextField2 = new javaxswingJTextField();
jButton1 = new javaxswingJButton();
setDefaultCloseOperation(javaxswingWindowConstantsEXIT_ON_CLOSE);
jTextArea1setEditable(false);
jTextArea1setColumns(20);
jTextArea1setRows(5);
jScrollPane1setViewportView(jTextArea1);
getContentPane()add(jScrollPane1, javaawtBorderLayoutCENTER);
jPanel1setLayout(new javaawtFlowLayout(javaawtFlowLayoutCENTER,
25, 5));
jLabel1setText("上限");
jPanel1add(jLabel1);
jTextField1setColumns(10);
jPanel1add(jTextField1);
jLabel2setText("下限");
jPanel1add(jLabel2);
jTextField2setColumns(10);
jPanel1add(jTextField2);
jButton1setText("确认");
jPanel1add(jButton1);
jButton1addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
sureAction();
}
});
getContentPane()add(jPanel1, javaawtBorderLayoutNORTH);
pack();
}// </editor-fold>
protected void sureAction() {
// TODO Auto-generated method stub
try {
int a = IntegerparseInt(jTextField1getText()trim());
int b = IntegerparseInt(jTextField2getText()trim());
m(a, b);
} catch (Exception e) {
// TODO: handle exception
JOptionPaneshowMessageDialog(null, "请输入数字");
jTextField1setText("");
jTextField2setText("");
jTextArea1setText("");
}
}
private void m(int m, int n) {
// TODO Auto-generated method stub
String s = "";
int total = 0;
int sum = 0;
boolean f = true;
if (m == 1) {
m = 2;
}
for (int i = m; i <= n; i++) {
f = true;
for (int j = 2; j <= i / 2; j++) {
if (i % j == 0) {
f = false;
break;
}
}
if (f == true) {
total++;
sum += i;
s = s + "第" + total + ":" + i + "\n";
jTextArea1setText(s);
}
}
}
/
@param args
the command line arguments
/
public static void main(String args[]) {
Linglinggong77 m = new Linglinggong77();
msetVisible(true);
msetSize(500, 300);
}
// Variables declaration - do not modify
private javaxswingJButton jButton1;
private javaxswingJLabel jLabel1;
private javaxswingJLabel jLabel2;
private javaxswingJPanel jPanel1;
private javaxswingJScrollPane jScrollPane1;
private javaxswingJTextArea jTextArea1;
private javaxswingJTextField jTextField1;
private javaxswingJTextField jTextField2;
// End of variables declaration
}
因为这是个applet 不能直接运行
注意:applet不能直接用java命令运行
方法(步骤):
1、Javac welcomejava后生成welcomeclass
2、在跟welcomeclass同一级的目录下新建一个文本文件,并输入:
<applet code="welcomeclass"
width=320 height=180>
</applet>
3、保存并将文件名改为welcomehtml
(这个html文件的名字任意,在这边我用welcome)
4、在cmd中输入appletviewer welcomehtml便可以看见你的applet了
或直接把这个welcomehtml拖入浏览器运行,也可以有同样效果
5、现在我解释一下上面的代码:
<applet>
</applet>
是必要的格式,在里面可以输入许多参数,其中code,width,height是必须的
code:欲运行的class的名字
width:applet窗口的宽度
height: applet窗口的高度
以上就是关于用JAVA编写一个图形应用程序,可以是一个简单的文本编辑器、计算器等等。 求完整代码全部的内容,包括:用JAVA编写一个图形应用程序,可以是一个简单的文本编辑器、计算器等等。 求完整代码、编写图形界面下的Java Applet程序,接受用户输入的两个数据为上、下限,然后输出上、下限之间的所有素数。、java图形界面编程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)