用JAVA编写一个图形应用程序,可以是一个简单的文本编辑器、计算器等等。 求完整代码

用JAVA编写一个图形应用程序,可以是一个简单的文本编辑器、计算器等等。 求完整代码,第1张

//百度文库找的,可费了我的财富值了,你可要把分给我呀。

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图形界面编程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10136652.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存