跪求Java高手补写程序,我想(Graphics g)先画好所有再添加到各个button监听器中

跪求Java高手补写程序,我想(Graphics g)先画好所有再添加到各个button监听器中,第1张

楼主看看是不是你想要的效果!!!

我对其中代码作了点变动

希望采纳为满意答案,嘿嘿。

import javaawtBorderLayout;

import javaawtColor;

import javaawtContainer;

import javaawtGraphics;

import javaawteventActionEvent;

import javaawteventActionListener;

import javaxswingJButton;

import javaxswingJFrame;

import javaxswingJPanel;

/

作了一点小改动,主类本身实现ActionListener接口

/

public class PainPen extends JFrame implements ActionListener {

JButton drLine;

JButton drPen;

JButton drCircle;

JButton drEraser;

JButton drRect;

JButton Clear;

Object obj;

JPanel p;

PainPen() {

super("画图");

p = new JPanel();

Container c = getContentPane();

cadd(p, BorderLayoutCENTER);

psetBackground(ColorWHITE);

drLine = new JButton("画直线");

drPen = new JButton("画笔");

drCircle = new JButton("画圆");

drEraser = new JButton("橡皮");

drRect = new JButton("画矩形");

Clear = new JButton("清除");

padd(drLine);

padd(drPen);

padd(drCircle);

padd(drEraser);

padd(drRect);

padd(Clear);

drLinesetBounds(0, 0, 80, 60);

drPensetBounds(90, 0, 80, 60);

drCirclesetBounds(180, 0, 80, 60);

drErasersetBounds(270, 0, 80, 60);

drRectsetBounds(360, 0, 80, 60);

ClearsetBounds(450, 0, 80, 60);

// 为按钮添加事件监听

drLineaddActionListener(this);

drPenaddActionListener(this);

drCircleaddActionListener(this);

drEraseraddActionListener(this);

drRectaddActionListener(this);

ClearaddActionListener(this);

setSize(500, 500);

setVisible(true);

setDefaultCloseOperation(JFrameEXIT_ON_CLOSE);

}

public void actionPerformed(ActionEvent e) {

/

下面的只写了三个按钮,就不出写下去啦,也不知道橡皮和画笔是咋样的,哈哈

/

Graphics gg = thisgetGraphics();

obj = egetSource();

if (obj == drLine) {

ggdrawLine(0, 200, 500, 200);//随便画一条直线

} else if (obj == drRect) {

ggdrawRect(300, 300, 50, 30);//随便画一个矩形

} else if (obj == Clear) {

//清除所有画出来的图形

ggclearRect(0, 200, 500, 200);

paint(gg); //这一句很重要,调用paint方法,要不点删除时会画一个大矩形出来的

}

// 这里可以继续写下去,就不写了

}

// public void paint(Graphics g){

// }

/

@param args

/

public static void main(String[] args) {

// TODO Auto-generated method stub

new PainPen();

}

}

 int num;

 Scanner in=new Scanner(Systemin);

 num=innextInt();

 bai=num/100;

 shi=(num-bai100)/10;

 ge=num-bai100-shi10;

 int sum=bai+shi+ge;//sum就是你要求的和了 自己输出吧

我觉得理论上是可以的,但是实际上比较行不通。

假设纸的面积是无限大的,纸的厚度为1,

第一次:折叠后,只得厚度为1×2=2=2^1

第二次:折叠后,纸的厚度为2×2=4=2^2

第三次:折叠后,纸的厚度为4×2=8=2^3

如此往复

第九次:折叠前,纸的厚度为2^8=256

所以第九次折叠的时候应该越过的纸的厚度为256,原理上是可以完成的,但是纸一定要非常的薄,一般的纸是不行的,想一下,如果你能够折动一本256页厚的书。。。也许你可以继续进行一下。

然后我们在看一下纸的面积,假设第九次折叠后纸的面积为1,

那么第九次折叠前,就是第八次,纸的面积应该是1×2=2^1

第七次,纸的面积应该是2^2=4

依次类推,为折叠之前的纸的面积应该是:512;

那么,加入第九次折叠后,纸的面积是25平方厘米5厘米×5厘米(这样的纸在这样的厚度下已经很难折叠了)

那么,第一次折叠前的纸的面积应该是25×512=12800平方厘米≈11314厘米×11314厘米

纵上所述,你要找到一张11314厘米×11314厘米的、非常薄的纸基本上是不可能的,所以。。。。

最好不要折叠超过八次

import javautilScanner;

public class 个人信息 

{

public static void main(String[] args) 

{

Systemoutprintln("\n\t\t==========简单的个人信息录入==========\n");

init();

}//初始化!

private static void init()

{

/int a1 = 073;

long b1 = 0xa38f;

Systemoutprintln(a1+""+b1);/

for (; ; )

{

Systemoutprintln("请输入姓名:");

String a=InputgetName();

Systemoutprintln("请输入年龄:");

int b=InputgetAge();

Systemoutprintln("请输入学历:");

String c=InputgetEducation();

Systemoutprintln("你输入的信息^_^\t名字:"+a+"     年龄:"+b+"     学历:"+c+"\n");

}

}

}

class Input

{

private static Scanner sc=new Scanner(Systemin);

private Input(){}

static String getName()

{

String name=scnext();

return name;

}

static int getAge()

{

int age=scnextInt();

return age;

}

static String getEducation()

{

String education=scnext();

return education;

}

}

public class FindString{

/

fileName 要查找的文本,str要查找的字符串

/

public int findString(String fileName,String str){

int count = 0;

try {

int line = 0;//记录行数

BufferedReader br = new BufferedReader(new FileReader(fileName));

String tmp = brreadLine();

while(tmp!=null){

line ++;

int index = tmpindexOf(str, 0);

while(index>=0){

count ++;

Systemoutprintln("在"+line+"行,第"+index+"列,找到字符:"+str);

index = tmpindexOf(str, index+strlength());

}

tmp = brreadLine();

}

brclose();

} catch (FileNotFoundException e) {

eprintStackTrace();

} catch (IOException e) {

eprintStackTrace();

}

return count;

}

}

以上就是关于跪求Java高手补写程序,我想(Graphics g)先画好所有再添加到各个button监听器中全部的内容,包括:跪求Java高手补写程序,我想(Graphics g)先画好所有再添加到各个button监听器中、用java语言写一个程序,程序的内容,是输入一个0~1000的整数,求各位数的和。、求用JAVA写一个程序,折纸几次,高度达8848米等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存