编写一个绘图java 小程序,用户点击某一按钮后,程序绘制相应的图形(如点击"画圆",则绘制圆形);

编写一个绘图java 小程序,用户点击某一按钮后,程序绘制相应的图形(如点击"画圆",则绘制圆形);,第1张

import javaapplet;

import javaawt;

import javaawtevent;

public class Tester extends Applet implements ActionListener

{

Button btn1,btn2,btn3,btn4;

public void init(){

setLayout(null);

btn1=new Button("绘制直线");

btn2=new Button("绘制矩形");

btn3=new Button("绘制圆");

add(btn1);

add(btn2);

add(btn3);

btn1setBounds(10, 60, 60, 20);

btn2setBounds(10, 90, 60, 20);

btn3setBounds(10, 120, 60, 20);

btn1addActionListener(this);

btn2addActionListener(this);

btn3addActionListener(this);

validate();

setVisible(true);

}

public void start(){

}

public void actionPerformed(ActionEvent e)

{

Graphics g=thisgetGraphics();

if(egetSource()==btn1)

{

gdrawLine(200, 100, 300, 200);

}

else if(egetSource()==btn2)

{

gdrawRect(200, 250, 200, 200);

}

else

{

gdrawArc(200, 500, 200, 200, 0, 360);

}

}

}

首先配置环境 配置好J2ME环境

–安装EclipseME插件

–配置EclipseME插件

–加载WTK

使用Eclipse进行JAVAME程序开发

最后你的手机要能运行java程序

ps:不建议学习JAVA手机开发,应用范围不广,手机开发一般都是嵌入式开发一类,JAVA开发还是侧重于网络开发

微信版本升级后,打开微信,点击底部的“发现”这个菜单项,就会发现升级后的“发现”菜单里,增加了“小程序”这样一个功能。

2点击打开小程序后,可以看到有附近的小程序和我的小程序,附近的小程序是所在定位周边的小程序。

下面的小程序列表可以看到的是我们之前打开过的一些小程序,如果有自己觉得很好用的小程序就可以点击左上角,添加到我的小程序里面。

3微信小程序还有具有搜索功能,打开搜索页面可以输入想要找的小程序。

把int a2 =IntegerparseInt(tf2getText());放到actionPerformed(ActionEvent e){}里边才对。

花浓花浅是正解。

你看看你的逻辑,只有判断了egetSource()==b2之后,才有必要执行tf2getText();你的程序当按下“得到一个随机数”时,就执行tf2getText()了,没有必要,而且此时tf2中根本没有输入,所以抛出了javalangNumberFormatException由于java默认初始化int值为0,所以此时a=0你输入0时会看到显示“猜对了”。

一般框架都直接继承javaxswingJFrame。

够详细吧。

import javaawt;

import javaawtevent;

class CalcAppDemo extends Frame{

private TextField t_result;

private Panel p_main;//主面板

private Panel p_num;//数字面板

private Panel p_oper;// *** 作符面板

private Panel p_show;//显示面板

private Button b_num[];//数字按钮

private Button b_oper[];// *** 作符按钮

public CalcAppDemo(String title){

setTitle(title);

t_result = new TextField("00",21);

p_main = new Panel();

p_num = new Panel();

p_oper = new Panel();

p_show = new Panel();

p_mainsetLayout(new BorderLayout());

p_numsetLayout(new GridLayout(4,3,1,1));

p_opersetLayout(new GridLayout(4,2,1,1));

b_num = new Button[12];

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

b_num[i] = new Button(new Integer(i+1)toString());

}

b_num[9] = new Button("0");

b_num[10] = new Button("cls");

b_num[11] = new Button("");

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

p_numadd(b_num[i]);

}

b_oper = new Button[8];

b_oper[0] = new Button("+");

b_oper[1] = new Button("-");

b_oper[2] = new Button("");

b_oper[3] = new Button("/");

b_oper[4] = new Button("pow");

b_oper[5] = new Button("sqrt");

b_oper[6] = new Button("+/-");

b_oper[7] = new Button("=");

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

p_operadd(b_oper[i]);

}

t_resultsetEditable(false);

p_showadd(t_result,BorderLayoutNORTH); //文本框在显示面板的北边

p_mainadd(p_show,BorderLayoutNORTH); //显示面板在主面板上的北边

p_mainadd(p_num,BorderLayoutWEST);

p_mainadd(p_oper,BorderLayoutEAST); // *** 作符面板在主面板上的东边

thisadd(p_main,BorderLayoutCENTER); //主面板在框架(主窗口)的中间

setSize(400,400);

setResizable(false);

pack();

thisaddWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

Systemexit(0);

}

});

ButtonListener bl = new ButtonListener(); //监听器对象

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

b_num[i]addActionListener(bl); //注册监听器

}

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

b_oper[i]addActionListener(bl);

}

}

class ButtonListener implements ActionListener { //监听器类是内部类

private String lastOp; //存储上一次 *** 作符

private String strVal; //存储数字对应的字符串

private double total; //总数

private double number; //存储新输入的数

private boolean firsttime;//判断是否第一次按下的是 *** 作符按钮

private boolean operatorPressed;//判断是否已经按过 *** 作符按钮

ButtonListener( ){

firsttime = true;

strVal = "";

}

//事件处理器

public void actionPerformed( ActionEvent e ){

String s = ((Button)egetSource())getLabel()trim();

if(CharacterisDigit(scharAt(0))){ //判断是 *** 作数还是 *** 作符

handleNumber(s);

}else{

calculate(s); //计算

}

}

//判断是一元 *** 作符还是二元 *** 作符,并根据 *** 作符类型做计算

void calculate( String op ){

operatorPressed = true;

if(firsttime&&!isUnary(op)){

total = getNumberOnDisplay();

firsttime = false;

}

if (isUnary(op)){

handleUnaryOp(op);

}

else if (lastOp != null){

handleBinaryOp(lastOp);

}

if (!isUnary(op)){ //存储上一次按下的 *** 作符

lastOp = op;

}

}

//判断是否是一元 *** 作符

boolean isUnary(String s){

return sequals( "=" )

|| sequals( "cls" )

|| sequals( "sqrt" )

|| sequals( "+/-" )

|| sequals( "" );

}

//处理一元 *** 作符

void handleUnaryOp( String op ){

if ( opequals( "+/-" ) ){

//将显示框中的数字取反

number = negate(getNumberOnDisplay()+"");

t_resultsetText("");

t_resultsetText( number + "");

return;

}else if (opequals("")){

handleDecPoint();

return;

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

number = Mathsqrt(getNumberOnDisplay());

t_resultsetText("");

t_resultsetText(number+"");

return;

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

//在按下"="前已经按下一个二元运算符

if(lastOp!=null&&!isUnary(lastOp)){

handleBinaryOp(lastOp);

}

lastOp=null;

firsttime=true;

return;

}else{

clear();

}

}

//处理二元运算符

void handleBinaryOp(String op){

if(opequals("+")){

total += number;

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

total -= number;

}else if(opequals("")){

total = number;

}else if(opequals("/")){

try{ //异常处理

total /=number;

}catch(ArithmeticException ae){ }

}else if(opequals("pow"))

total=Mathpow(total,number);

// t_resultsetText("");

lastOp = null;

// strVal = "";

number = 0;

t_resultsetText(total+"");

}

//该方法用于处理数字按钮

void handleNumber(String s){

if (!operatorPressed){ //连接按下的数字按钮的值

strVal+=s;

}

else{ //当按下 *** 作符按钮时,清除strVal并存储输入的第一个数值

operatorPressed = false;

strVal = s;

}

//将strVal转换为double

number=new Double(strVal)doubleValue();

t_resultsetText("");

t_resultsetText(strVal);

}

//该方法用于按下""按钮

void handleDecPoint(){

operatorPressed = false;

//如果该字符串中无"",放置一个""在字符串末尾

if ( strValindexOf( "" ) < 0 ) {

strVal+="";

}

t_resultsetText("");

t_resultsetText( strVal );

}

//该方法用于将一个数求反

double negate( String s ){

operatorPressed = false;

//如果是一个整数,去掉小数点后面的0

if ( number == ( int ) number ){

s = ssubstring(0, sindexOf( "" ) );

}

//如果无"-"增加在该数的前面

if ( sindexOf( "-" ) < 0 ){

strVal = "-"+s;

}

else{//如果有"-"则去掉

strVal = ssubstring( 1 );

}

return new Double( strVal )doubleValue();

}

//将显示框中的值转换为Double

double getNumberOnDisplay() {

return new Double(t_resultgetText())doubleValue();

}

//清除屏幕并设置所有的标识

void clear(){

firsttime = true;

lastOp = null;

strVal = "";

total = 0;

number = 0;

t_resultsetText("0");

}

}

public static void main(String args[]){

CalcAppDemo c = new CalcAppDemo("简单的计算器程序");

csetVisible(true);

}

}

//这是我以前写的,参考一下吧

以上就是关于编写一个绘图java 小程序,用户点击某一按钮后,程序绘制相应的图形(如点击"画圆",则绘制圆形);全部的内容,包括:编写一个绘图java 小程序,用户点击某一按钮后,程序绘制相应的图形(如点击"画圆",则绘制圆形);、想编写一个简单的java小程序运行在手机上 代码怎么实现、自己怎么开发小程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存