求一个简单的JAVA小程序,要有图形界面。

求一个简单的JAVA小程序,要有图形界面。,第1张

/计算器/

import javaawt;

import javaxswing;

import javaxswingborder;

import javaawtevent;

public class Calculator implements ActionListener{

JFrame frame;

JPanel panel;

JTextField tfShow;/定义显示文本框/

JButton b1[]=new JButton[10]; /数字按钮/

JButton b2[]=new JButton[6]; / *** 作按钮/

boolean isNumber;/判断是否输入多位数字的变量/

double number;/存储输入数值、显示结果的变量/

double result;/存储中间运算结果的变量/

char operator;/存储当前 *** 作符的成员变量/

public Calculator(){

frame=new JFrame("计算器");

framesetSize(300,300);/指定框架窗口的大小/

framesetResizable(false);/使框架窗口不可改变大小/

JPanel contentPane=(JPanel)framegetContentPane();

contentPanesetBorder(new EmptyBorder(20,20,20,20));/绘制框架的指定大小的空透明边框/

tfShow=new JTextField("0",25);/指定属性的文本域/

tfShowsetHorizontalAlignment(JTextFieldRIGHT);/设置文本域中文本的对齐方式/

isNumber=true;/初始值设置/

number=0;/初始值设置/

result=0;/初始值设置/

operator=' ';/初始值设置/

for(int i=0;i<b1length;i++){

b1[i]=new JButton(IntegertoString(i));/创建数字按钮/

b1[i]setActionCommand(IntegertoString(i));

b1[i]addActionListener(this);

b1[i]setForeground(Colorblue);

}

String bs[]={"/","","-","C","+","="};

for(int i=0;i<b2length;i++){

b2[i]=new JButton(bs[i]);/创建 *** 作按钮/

b2[i]setActionCommand(bs[i]);

b2[i]addActionListener(this);

b2[i]setForeground(Colorred);

}

panel=new JPanel();

panelsetLayout(new GridLayout(4,5));

paneladd(b1[1]);

paneladd(b1[2]);

paneladd(b1[3]);

paneladd(b2[0]);

paneladd(b1[4]);

paneladd(b1[5]);

paneladd(b1[6]);

paneladd(b2[1]);

paneladd(b1[7]);

paneladd(b1[8]);

paneladd(b1[9]);

paneladd(b2[2]);

paneladd(b1[0]);

paneladd(b2[3]);

paneladd(b2[4]);

paneladd(b2[5]);

frameadd(tfShow,BorderLayoutNORTH);/将文本框放置在框架上方/

frameadd(panel,BorderLayoutCENTER);/将装有按钮组的panel放在框架的中心/

framesetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);/设置框架窗口的默认窗口关闭 *** 作/

framesetVisible(true);/设置框架可见/

}

public double getDisplay(){/返回要显示的结果/

return number;

}

public void reDisplay(){/刷新文本域的内容/

tfShowsetText(""+getDisplay());

}

/对输入数字的处理/

public void numberProcess(int num){

if(isNumber&&num!=0){

String s1=IntegertoString(num);

String s2=IntegertoString((int)(thisnumber));

thisnumber=DoubleparseDouble(s2+s1);/对多位数字的处理/

}else{

thisnumber=num;

}

isNumber=true;/输入连续数字(即多位数字)时为真/

}

public void operationProcess(char operator){/根据输入的 *** 作符改变当前 *** 作符/

switch(operator){

case '-':

thisoperator='-';

break;

case '+':

thisoperator='+';

break;

case '':

thisoperator='';

break;

case '/':

thisoperator='/';

break;

}

result=number;

isNumber=false;/输入 *** 作符时表示输入连续数字的标记变量为假/

}

public void clear(){

number=0;

result=0;

}

public void equal(){/计算运算结果/

switch(operator){

case '-':

result=result-number;

break;

case '+':

result=result+number;

break;

case '':

result=resultnumber;

break;

case '/':

result=result/number;

break;

case ' ':

result=number;

break;

}

number=result; /把运算结果赋值给显示变量/

isNumber=false;

operator=' ';

}

public static void main(String args[]){

Calculator cal=new Calculator();/创建计算器/

}

public void actionPerformed(ActionEvent e){

String command=egetActionCommand();/获取按钮激发的 *** 作事件的命令名称/

char c=commandcharAt(0);/将按钮命令名称的第一个字符赋值给一个字符c/

switch(c){

case '1':

case '2':

case '3':

case '4':

case '5':

case '6':

case '7':

case '8':

case '9':

case '0':

int number=IntegerparseInt(command);

numberProcess(number);/输入数字的处理/

break;

case '+':

case '-':

case '':

case '/':

operationProcess(c);/算数运算符的处理/

break;

case '=':equal();break;/计算运算结果/

case 'C':clear();break;/清零/

}

reDisplay(); /在文本域中显示信息/

}

}

这是我做的一个计算器:运行截图

1,可以自己敲进去

2,可以在调用GetCtrlVal()函数时,在函数面板中坐上角点击“声明变量”,声明你在函数中用到的变量。如下图:

import javaxswing;

import javaawt;

import javaawtevent;

public class Calculator extends JFrame implements ActionListener{

private static final long serialVersionUID = 8199443193151152362L;

private JButton bto_s=new JButton("sqrt"),bto_zf=new JButton("+/-"),bto_ce=new JButton("CE"),bto_c=new JButton("C"),bto_7=new JButton("7"),

bto_8=new JButton("8"),bto_9=new JButton("9"),bto_chu=new JButton("/"),bto_4=new JButton("4"),bto_5=new JButton("5"),

bto_6=new JButton("6"),bto_cheng=new JButton(""),bto_1=new JButton("1"),bto_2=new JButton("2"),bto_3=new JButton("3"),

bto_jian=new JButton("-"),bto_0=new JButton("0"),bto_dian=new JButton(""),bto_deng=new JButton("="),bto_jia=new JButton("+");

JButton button[]={bto_s,bto_zf,bto_ce,bto_c,bto_7,bto_8,bto_9,bto_chu,bto_4,bto_5,bto_6,bto_cheng,bto_1,bto_2,bto_3,bto_jian,

bto_0,bto_dian,bto_deng,bto_jia};

private JTextField text_double;// = new JTextField("0");

private String operator = "="; //当前运算的运算符

private boolean firstDigit = true; // 标志用户按的是否是整个表达式的第一个数字,或者是运算符后的第一个数字

private double resultNum = 00; // 计算的中间结果

private boolean operateValidFlag = true; //判断 *** 作是否合法

public Calculator()

{

super("Calculator");

thissetBounds(300, 300, 300, 300);

thissetResizable(false);

thissetBackground(Colororange);

thissetDefaultCloseOperation(EXIT_ON_CLOSE);

thisgetContentPane()setLayout(new BorderLayout());//设置布局

text_double=new JTextField("0",20);//设置文本区

text_doublesetHorizontalAlignment(JTextFieldRIGHT);//设置水平对齐方式未右对齐

thisgetContentPane()add(text_double,BorderLayoutNORTH);//将文本区添加到Content北部

JPanel panel=new JPanel(new GridLayout(5,4));//在内容窗口添加一个网格布局

thisgetContentPane()add(panel);//添加panel面板

for(int i=0;i<buttonlength;i++)//在面板上添加按钮

paneladd(button[i]);

for(int i=0;i<buttonlength;i++)

button[i]addActionListener(this);//为按钮注册

text_doublesetEditable(false);//文本框不可编辑

text_doubleaddActionListener(this);//

thissetVisible(true);

}

public void actionPerformed(ActionEvent e)//

{

String c= egetActionCommand();//返回与此动作相关的命令字符串。

Systemoutprintln("##########command is "+c);

if(cequals("C")){

handleC(); //用户按了“C”键

}

else if (cequals("CE")) // 用户按了"CE"键

{

text_doublesetText("0");

}

else if ("0123456789"indexOf(c) >= 0) // 用户按了数字键或者小数点键

{

handleNumber(c); // handlezero(zero);

} else //用户按了运算符键

{

handleOperator(c);

}

}

private void handleC() // 初始化计算器的各种值

{

text_doublesetText("0");

firstDigit = true;

operator = "=";

}

private void handleNumber(String button) {

if (firstDigit)//输入的第一个数字

{

text_doublesetText(button);

} else if ((buttonequals("")) && (text_doublegetText()indexOf("") < 0))//输入的是小数点,并且之前没有小数点,则将小数点附在结果文本框的后面

//如果字符串参数作为一个子字符串在此对象中出现,则返回第一个这种子字符串的第一个字符的索引;如果它不作为一个子字符串出现,则返回 -1

{

text_doublesetText(text_doublegetText() + "");

} else if (!buttonequals(""))// 如果输入的不是小数点,则将数字附在结果文本框的后面

{

text_doublesetText(text_doublegetText() + button);

}

// 以后输入的肯定不是第一个数字了

firstDigit = false;

}

private void handleOperator(String button) {

if (operatorequals("/")) {

// 除法运算

// 如果当前结果文本框中的值等于0

if (getNumberFromText() == 00){

// *** 作不合法

operateValidFlag = false;

text_doublesetText("除数不能为零");

} else {

resultNum /= getNumberFromText();

}

} else if (operatorequals("+")){

// 加法运算

resultNum += getNumberFromText();

} else if (operatorequals("-")){

// 减法运算

resultNum -= getNumberFromText();

} else if (operatorequals("")){

// 乘法运算

resultNum = getNumberFromText();

} else if (operatorequals("sqrt")) {

// 平方根运算

if(getNumberFromText()<0){

operateValidFlag = false;

text_doublesetText("被开方数不能为负数");}

else

resultNum = Mathsqrt(resultNum);

}

else if (operatorequals("+/-")){

// 正数负数运算

resultNum = resultNum (-1);

} else if (operatorequals("=")){

// 赋值运算

resultNum = getNumberFromText();

}

if (operateValidFlag) {

// 双精度浮点数的运算

long t1;

double t2;

t1 = (long) resultNum;

t2 = resultNum - t1;

if (t2 == 0) {

text_doublesetText(StringvalueOf(t1));

} else {

text_doublesetText(StringvalueOf(resultNum));

}

}

operator = button; //运算符等于用户按的按钮

firstDigit = true;

operateValidFlag = true;

}

private double getNumberFromText() //从结果的文本框获取数字

{

double result = 0;

try {

result = DoublevalueOf(text_doublegetText())doubleValue(); // ValueOf()返回表示指定的 double 值的 Double 实例

} catch (NumberFormatException e){

}

return result;

}

public static void main(final String[] args) {

new Calculator();

}

}

以下代码放到一个button的事件中

Bitmap bmSave = new Bitmap(thispanel1Width, thispanel1Height); //用于保存的位图对象

Graphics gSave = GraphicsFromImage(bmSave); //创建该位图的Graphics对象

Graphics gSrc = thispanel1CreateGraphics();

HandleRef hDcSave = new HandleRef(null, gSaveGetHdc()); //得到句柄

HandleRef hDcSrc = new HandleRef(null, gSrcGetHdc());

BitBlt(hDcSave, 0, 0, thispanel1Width, thispanel1Height, hDcSrc, 0, 0, 0xcc0020);

gSrcReleaseHdc();

gSaveReleaseHdc();

//之前要判断下文件夹是否存在,不存在要创建,否则会异常,这里省略了

bmSaveSave(@"D:\截图\" + DateTimeNowToString("yyyy-MM-dd-HH-mm-ss") + "jpg");

gSrcDispose();

gSaveDispose();

bmSaveDispose();

哈哈 我昨天刚做了这个作业 你够幸运

import javaawt;

import javaawtevent;

import javaxswing;

import javamath;

public class Homework10_3 {

public static void main(String args[]){

MathWindow win=new MathWindow();

}

}

class MathWindow extends JFrame{

JTextField text1,text2,text3;

JPanel ps,pn;

MathWindow(){

text1=new JTextField(10);

text2=new JTextField(10);

text3=new JTextField(10);

JButton button1,button2,button3,button4;

button1=new JButton("加");

button2=new JButton("减");

button3=new JButton("乘");

button4=new JButton("除");

ps=new JPanel();

pn=new JPanel();

pnadd(text1);

pnadd(text2);

pnadd(text3);

psadd(button1);

psadd(button2);

psadd(button3);

psadd(button4);

add(pn,BorderLayoutCENTER);

add(ps,BorderLayoutSOUTH);

setBounds(100,100,370,150);

setVisible(true);

validate();

button1addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

String s1=text1getText();

String s2=text2getText();

try{ BigInteger n1=new BigInteger(s1);

BigInteger n2=new BigInteger(s2);

n2=n1add(n2);

text3setText(n2toString());

}

catch(NumberFormatException ee){

text3setText("请输入数字字符");

text1setText(null);

text2setText(null);

}

}

});

button2addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

String s1=text1getText();

String s2=text2getText();

try{ BigInteger n1=new BigInteger(s1);

BigInteger n2=new BigInteger(s2);

n2=n1subtract(n2);

text3setText(n2toString());

}

catch(NumberFormatException ee){

text3setText("请输入数字字符");

text1setText(null);

text2setText(null);

}

}

});

button3addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

String s1=text1getText();

String s2=text2getText();

try{ BigInteger n1=new BigInteger(s1);

BigInteger n2=new BigInteger(s2);

n2=n1multiply(n2);

text3setText(n2toString());

}

catch(NumberFormatException ee){

text3setText("请输入数字字符");

text1setText(null);

text2setText(null);

}

}

});

button4addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

String s1=text1getText();

String s2=text2getText();

try{ BigInteger n1=new BigInteger(s1);

BigInteger n2=new BigInteger(s2);

if(n2toString()=="0"){

text3setText("除数不能为0");

}

else

{

n2=n1divide(n2);

text3setText(n2toString());

}

}

catch(NumberFormatException ee){

text3setText("请输入数字字符");

text1setText(null);

text2setText(null);

}

}

});

setDefaultCloseOperation(JFrameDISPOSE_ON_CLOSE);

}

}

以上就是关于求一个简单的JAVA小程序,要有图形界面。全部的内容,包括:求一个简单的JAVA小程序,要有图形界面。、Labwindows/CVI的几句小程序求解: double value; GetCtrlVal(panelHandle,PANEL_NUMRIC,&value);、java:编写一个计算器小程序,要求可以做加减乘除运算等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/10062850.html

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

发表评论

登录后才能评论

评论列表(0条)

保存