
正文
java画球代码 java如何用代码画圆
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
求java窗体代码,可以显示默认长文本,代码格式最好规范可以直接使用。
importjava.awt.*;importjava.awt.event.*;importjava.awt.geom.*;importjava.util.*;importjavax.swing.*;/***多线程java画球代码,小球演示.打开Windows任务管理器java画球代码,可看到线程变化。可搜索到,run()方法/.start()**du:程序技巧体会java画球代码:所谓产生一个小球,即是new其类对象,其属性携带画小球java画球代码的坐标、颜色、所在容器等参数。**一个类,属性用来作为参数容器用,方法.完成功能。**///运行类publicclassBouncePress{//publicstaticvoidmain(String[]args){JFrameframe=newBouncePressFrame();//生成窗口。执行构造。-----业务逻辑。frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//similarto//window//listenerframe.show();}}classBouncePressFrameextendsJFrame{privateBallPressCanvascanvas;publicBouncePressFrame(){setSize(600,500);//窗口大小setTitle("BounceBall");ContainercontentPane=getContentPane();//Swing的窗口不能直接放入东西,只能在其上的ContentPane上放。canvas=newBallPressCanvas();//生成一个新面板。-----canvascontentPane.add(canvas,BorderLayout.CENTER);//窗口中心加入该面板。JPanelbuttonPanel=newJPanel();//再生成一个新面板。----buttonPanel//调用本类方法addButton。addButton(buttonPanel,"Start",//生成一个按钮"Start"---加入面板buttonPanelnewActionListener(){//|------按钮绑上action监听器。publicvoidactionPerformed(ActionEventevt){//|小球容器对象的addBall(Thread.NORM_PRIORITY-4,Color.black);//事件处理时,执行---addBall()方法。---产生小球(参数对象)---加入List中---开始画球。}});//按一次,addBall()一次---产生一个新小球---加入List中---开始画此新小球。//---画球线程BallPressThread的run()---小球(参数对象).move()---每次画时,先移动,再判断,再画。//---BallPressCanvas类的canvas对象.paint()---自动调BallPressCanvas类的paintComponent(Graphics//g)方法。//---该方法,从List中循环取出所有小球,第i个球,---调该小球BallPress类//.draw()方法---调Graphics2D方法画出小球。--使用color/addButton(buttonPanel,"Express",newActionListener(){publicvoidactionPerformed(ActionEventevt){addBall(Thread.NORM_PRIORITY+2,Color.red);}});addButton(buttonPanel,"Close",newActionListener(){publicvoidactionPerformed(ActionEventevt){System.exit(0);}});contentPane.add(buttonPanel,BorderLayout.SOUTH);}publicvoidaddButton(Containerc,Stringtitle,ActionListenerlistener){JButtonbutton=newJButton(title);//生成一个按钮。c.add(button);//加入容器中。button.addActionListener(listener);//按钮绑上action监听器。}/**主要业务方法。*/publicvoidaddBall(intpriority,Colorcolor){//生成小球(参数对象)BallPressb=newBallPress(canvas,color);//生成BallPress对象,携带、初始化//画Ball形小球,所需参数:所在容器组件,所需color--black/red.//小球加入List中。canvas.add(b);//面板canvas的ArrayList中加入BallPress对象。BallPressThreadthread=newBallPressThread(b);//生成画小球的线程类BallPressThread对象。传入BallPress对象(携带了画球所需//容器、color参数)。thread.setPriority(priority);thread.start();//callrun(),ballstarttomove//画球线程开始。---BallPressThread的run()---小球(参数对象).move()---先移动,再画。canvas.paint---BallPressCanvas类的}}//画球的线程类。classBallPressThreadextendsThread{privateBallPressb;publicBallPressThread(BallPressaBall){b=aBall;}//画球开始。publicvoidrun(){try{for(inti=1;i自动绘制面板,且自动调paintComponent(Graphics//g)方法,---重写该方法,绘制面板(及其上组件)。//作用2)该类对象属性ArrayListballs---兼作小球(参数对象)的容器。classBallPressCanvasextendsJPanel{privateArrayListballs=newArrayList();publicvoidadd(BallPressb){balls.add(b);//向ArrayList中添加球。当按下按钮,添加多个球时,都保存在这个List中。}//重写了javax.swing.JComponent的paintComponent()方法。//paint()方法自动调用该方法。publicvoidpaintComponent(Graphicsg){super.paintComponent(g);Graphics2Dg2=(Graphics2D)g;for(inti=0;i=canvas.getWidth()){//小球右边已经到画板右边。x=canvas.getWidth()-15;dx=-dx;//开始反向运动。}if(y=canvas.getHeight()){//小球已到画板顶。y=canvas.getHeight()-15;dy=-dy;}canvas.paint(canvas.getGraphics());//画出面板对象canvas----(及其上所有组件)////.paint()方法,自动调用}}/*importjava.awt.*;importjava.awt.event.*;importjava.awt.geom.*;importjava.util.*;importjavax.swing.*;*//***单线程,小球演示搜索不到,run()方法/.start()*//*publicclassBounce{publicstaticvoidmain(String[]args){JFrameframe=newBounceFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//similarto//window//listenerframe.show();}}不懂的再问啊。。。
相关问答
Q1: 求java大神给解释以下双色球代码的意思。
public class sedasd {
static Random random = new Random();
public static void main(String[] args) {
System.out.println(Arrays.toString(getStor(getRed())));/*getRed()得到存储取出的号码的数组ns
getStor()对数组的输出格式进行格式化
*/
}
public static int[] getRed() {
int[] num = new int[33];
int[] ns = new int[6];
int index = 0;
for (int i = 0; i 100; i++) {
int temp = random.nextInt(33);
if (num[temp] == 0) { //判断取出的号码是不是第一次取出
ns[index] = temp + 1; //random.nextInt(33)是从零到32所以要加1
num[temp] = 1;
index++;
}
if (!(ns[5] == 0)) { //判断是不是取6个号码
return ns;
}
}
return ns;
}
public static String[] getStor(int[] s) {
String[] ns = new String[6];
Arrays.sort(s);
for (int i = 0; i s.length; i++) {
if (s[i] 10) {
ns[i] = "0" + s[i];
} else {
ns[i] = "" + s[i];
}
}
return ns;
}
}
希望可以帮到你,要是还不理解可以在问我。。。
Q2: 关于类的,写一个球的体积的java代码
import java.util.Scanner;
/**
* 计算球的体积
*
* @author young
*
*/
public class Volume {
public static void main(String[] args) {
System.out.print("请输入r:");
Scanner reader = new Scanner(System.in);
double r = 0, v = 0;
r = reader.nextDouble();
v = 4 * 3.14159 / 3 * r * r * r;
System.out.println("球体积为:" + String.format("%.2f", v));
}
}
Q3: 跪求JAVA保龄球的JAVA代码
/**
* 输出学生的信息和进球信息到控制台
*/
private static void outPutStudentsToConsole(ListStudent stuList){
for (Student s:stuList) {
System.out.println(s.toString());
}
}
/**
* 输出学生的信息和进球信息到文件中
*/
private static void outPutStudentsToFile(ListStudent stuList,String fileName){
PrintWriter pw=null;
try {
pw = new PrintWriter(new File("d:/"+fileName));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
for (Student s:stuList) {
pw.print(s.toString());
pw.println();
}
pw.close();
}
/**
*按学号查找Student
*/
private static Student search(ListStudent stuList,String targetNo){
for (Student s:stuList) {
if(s.no.equals(targetNo)){
return s;
}
}
return null;
}
}
/**
*
* 1) 建立学生信息结构数组
2) 从键盘输入并显示每局的球数
3) 求得并显示每名学生的分数
4) 按分数递减选择排序
5) 显示按分数排序后学生信息
6) 按学号查学生信息和分数(顺序查找法)
7) 将排序后的内容存为文件,以后显示时直接从文件中调出而不用再执行排序算法。
*
*/
Q4: java画出一个小圆,并能用键盘控制方向的代码
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.Ellipse2D;
import javax.swing.*;
public class DrawCircle extends JFrame{
Ellipse2D circle;
public DrawCircle(){
super("Moving Circle");
circle = new Ellipse2D.Double(200,200,100,100);
this.addKeyListener(new myKeyListener(this));
this.setSize(500,500);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public void paint(Graphics g){
Graphics2D g2 = (Graphics2D) g;
g2.setColor(Color.white);
g2.fillRect(0,0,this.getWidth(),this.getHeight());
g2.setColor(Color.blue);
g2.fill(circle);
}
public static void main(String args[]){
DrawCircle d = new DrawCircle();
}
class myKeyListener extends KeyAdapter{
JFrame frame;
public myKeyListener(JFrame frame){
this.frame = frame;
}
public void keyPressed(KeyEvent e){
switch(e.getKeyCode()){
case KeyEvent.VK_UP:
circle.setFrame(circle.getX(),circle.getY()-10,circle.getHeight(),circle.getWidth());
break;
case KeyEvent.VK_DOWN:
circle.setFrame(circle.getX(),circle.getY()+10,circle.getHeight(),circle.getWidth());
break;
case KeyEvent.VK_LEFT:
circle.setFrame(circle.getX()-10,circle.getY(),circle.getHeight(),circle.getWidth());
break;
case KeyEvent.VK_RIGHT:
circle.setFrame(circle.getX()+10,circle.getY(),circle.getHeight(),circle.getWidth());
break;
}
frame.repaint();
}
}
}
辛辛苦苦给你做的... 不是复制的哈...
Q5: 滚动的小球 java源代码
;
要制造那种效果只需要大约 30 行 Java 代码java画球代码:
import javax.swing.*;
import java.awt.*;
import java.awt.geom.*;
class RollingBall extends JPanel {
Ellipse2D.Float ball = new Ellipse2D.Float( -100, 100, 50, 50 );
public void paintComponent( Graphics g ) {
super.paintComponent( g );
Graphics2D g2 = ( Graphics2D ) g;
// Draw the ball
g2.fill( ball );
// Draw the rotating ellipse by skewing the Device Space
double angdeg = // One rotation per ball's travelling over its perimeter
ball.x++ % ( Math.PI * ball.width ) / ( Math.PI * ball.width ) * 360;
g2.rotate( Math.toRadians( angdeg ), ball.getCenterX( ), ball.getCenterY( ) );
g2.scale( .5, 1 );
g2.translate( ball.getCenterX( ), 0 );
g2.setColor( Color.gray );
g2.fill( ball );
}
public void roll( ) throws Exception {
while( true ) {
repaint( );
Thread.sleep( 8 );
}
}
public static void main( String[ ] args ) throws Exception {
JFrame f = new JFrame( );
RollingBall rb = new RollingBall( );
f.setSize( 999, 185 );
f.getContentPane( ).add( rb );
f.setVisible( true );
rb.roll( );
}
}
关于java画球代码和java如何用代码画圆的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。





