急!300分求购一段Java源程序! 要是我会java的话,我就自己去想这个算法了可关键我不会java 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 应该要用到java的3D包,可惜我对这个包也不熟。 up 呵呵~ 我是真的不懂!!! X Y就行了??? http://www.java-cn.net/javatools/tools/an145chs.exe那是一个java特效程序,安装后看看能不能发编,也许能对你有所帮助。 建议:螺旋上升的效果无须3D,使用图形学的坐标扭曲(shearing算法)。对于java来说,上升的动画效果只要创建一组图象缓冲区,不断循环播放即可(速度不必苛求)。我很想为你解决问题,但是由于近来比较忙,只能提些点子,如果哪位兄弟有空,可以帮一下忙。上面的建议仅供参考。 哇,我也是学c++的,最近刚学java,因为被老板逼着做东西,看到大家这么热情,很感动呀~ import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Circle extends JFrame implements Runnable { private JPanel contentPane; private BorderLayout borderLayout1 = new BorderLayout(); private JButton jButton1 = new JButton(); private MyPanel panel1 = new MyPanel(); Thread myThread = null; MyChar[] str = new MyChar[20]; int yStep = 0; int xCenter = 150; //Construct the frame public Circle() { enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } //Component initialization private void jbInit() throws Exception { //setIconImage(Toolkit.getDefaultToolkit().createImage(Frame1.class.getResource("[Your Icon]"))); contentPane = (JPanel) this.getContentPane(); jButton1.setText("开始"); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { jButton1_actionPerformed(e); } }); contentPane.setLayout(borderLayout1); this.setSize(new Dimension(400, 423)); this.setTitle("Frame Title"); contentPane.add(jButton1, BorderLayout.SOUTH); contentPane.add(panel1, BorderLayout.CENTER); //initial for(int i=0;i<str.length;i++) { str[i] = new MyChar(i,(char)(65+i)); } setPos(); } //Overridden so we can exit when window is closed protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); if (e.getID() == WindowEvent.WINDOW_CLOSING) { System.exit(0); } } public void run() { Thread theThread = Thread.currentThread(); while(true) { setPos(); panel1.repaint(); try { theThread.sleep(300); } catch(InterruptedException ie) { ie.printStackTrace(); } } } public void setPos() { yStep+=3; for(int i=0;i<str.length;i++) { str[i].setPosition(300-(20-i*2+yStep)); } } void jButton1_actionPerformed(ActionEvent e) { if(myThread == null) { myThread = new Thread(this); myThread.start(); } } class MyChar { int x,y; char ch; int index = 0; boolean direct = false; public MyChar(int index,char ch) { this.ch = ch; this.index = index; } public void setPosition(int y) { if(direct) { index++; if(index == str.length) direct = false; } else { index--; if(index == 0) direct = true; } this.x = (int)(Math.cos(((double)((index/10.0f)*Math.PI))) * 40.0f)+xCenter; this.y = y; } public void draw(Graphics g) { g.drawString(new String(new char[]{ch}),x,y); } } class MyPanel extends JPanel { public MyPanel() { } public void paint(Graphics g) { g.setColor(Color.white); g.fillRect(0,0,400,500); g.setColor(Color.black); for(int i=0;i<str.length;i++) { str[i].draw(g); } } } public static void main(String[] args) { Circle frame = new Circle(); frame.validate(); frame.setVisible(true); }} 谢谢 nil2000(我爱北京天安门)我试试看,看能否实现 To nil2000(我爱北京天安门):怎么汉字不听使唤了?能否给个输入窗口填入一串汉字,点开始然后螺旋上升? import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Circle extends JFrame implements Runnable { private JPanel contentPane; private BorderLayout borderLayout1 = new BorderLayout(); private JButton jButton1 = new JButton(); private MyPanel panel1 = new MyPanel(); Thread myThread = null; MyChar[] str = null; int yStep = 0; int xCenter = 190; private JTextField jTextField1 = new JTextField(); //Construct the frame public Circle() { enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } //Component initialization private void jbInit() throws Exception { //setIconImage(Toolkit.getDefaultToolkit().createImage(Frame1.class.getResource("[Your Icon]"))); contentPane = (JPanel) this.getContentPane(); jButton1.setText("开始"); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { jButton1_actionPerformed(e); } }); contentPane.setLayout(borderLayout1); this.setSize(new Dimension(400, 423)); this.setTitle("Frame Title"); jTextField1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { jTextField1_actionPerformed(e); } }); contentPane.add(jButton1, BorderLayout.SOUTH); contentPane.add(jTextField1, BorderLayout.NORTH); contentPane.add(panel1, BorderLayout.CENTER); } //Overridden so we can exit when window is closed protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); if (e.getID() == WindowEvent.WINDOW_CLOSING) { System.exit(0); } } public void run() { Thread theThread = Thread.currentThread(); while(true) { setPos(); panel1.repaint(); try { theThread.sleep(300); } catch(InterruptedException ie) { ie.printStackTrace(); } } } public void setPos() { yStep+=3; for(int i=0;i<str.length;i++) { str[i].setPosition(300-(20-i*2+yStep)); } if(yStep >= 230) yStep = 0; } void jButton1_actionPerformed(ActionEvent e) { if(str == null) { jTextField1_actionPerformed(null); } if(str == null) return; if(myThread == null) { myThread = new Thread(this); myThread.start(); } } class MyChar { int x,y; char ch; int index = 0; boolean direct = false; public MyChar(int index,char ch) { this.ch = ch; this.index = index; if(index == 0) direct = true; } public void setPosition(int y) { if(direct) { index++; if(index == str.length) direct = false; } else { index--; if(index == 0) direct = true; } this.x = (int)(Math.cos(((double)((index/((float)str.length))*Math.PI))) * ((float)str.length * 6))+xCenter; this.y = y; } public void draw(Graphics g) { g.drawString(new String(new char[]{ch}),x,y); } } class MyPanel extends JPanel { public MyPanel() { } public void paint(Graphics g) { g.setColor(Color.white); g.fillRect(0,0,400,500); g.setColor(Color.black); if(str == null) return; for(int i=0;i<str.length;i++) { str[i].draw(g); } } } public static void main(String[] args) { Circle frame = new Circle(); frame.validate(); frame.setVisible(true); } void jTextField1_actionPerformed(ActionEvent e) { //initial yStep = 0; char[] charArr = jTextField1.getText().toCharArray(); str = new MyChar[charArr.length]; for(int i=0;i<charArr.length;i++) { str[i] = new MyChar(i,charArr[i]); } setPos(); }} 很牛啊,你学了多长时间java? java折半查找问题 c#中的sortedlist数据结构在JAVA中如何实现? 使用JavaService把java程序安装成windwos2008服务的问题。 JCreator 在线急等!!100大分 JAVA中的P,V操作 关于javamail中判断邮件message的某个部分是否为附件的条件问题,高手请进来! 求教求差影图的概念 在加载Hibernate配置文件时抛出异常,我是刚学的Java,请大家帮我看看是哪出了问题? java之怪问题 求java swing图形界面开发与案例详解pdf文档 高分求助struts的问题 继承问题
那是一个java特效程序,安装后看看能不能发编,也许能对你有所帮助。
我很想为你解决问题,但是由于近来比较忙,只能提些点子,如果哪位兄弟有空,可以帮一下忙。上面的建议仅供参考。
import java.awt.event.*;
import javax.swing.*;public class Circle extends JFrame implements Runnable {
private JPanel contentPane;
private BorderLayout borderLayout1 = new BorderLayout();
private JButton jButton1 = new JButton();
private MyPanel panel1 = new MyPanel();
Thread myThread = null;
MyChar[] str = new MyChar[20];
int yStep = 0;
int xCenter = 150; //Construct the frame
public Circle() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception {
//setIconImage(Toolkit.getDefaultToolkit().createImage(Frame1.class.getResource("[Your Icon]")));
contentPane = (JPanel) this.getContentPane();
jButton1.setText("开始");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
jButton1_actionPerformed(e);
}
});
contentPane.setLayout(borderLayout1);
this.setSize(new Dimension(400, 423));
this.setTitle("Frame Title");
contentPane.add(jButton1, BorderLayout.SOUTH);
contentPane.add(panel1, BorderLayout.CENTER); //initial
for(int i=0;i<str.length;i++) {
str[i] = new MyChar(i,(char)(65+i));
}
setPos();
}
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
} public void run() {
Thread theThread = Thread.currentThread(); while(true) {
setPos();
panel1.repaint();
try {
theThread.sleep(300);
} catch(InterruptedException ie) {
ie.printStackTrace();
}
}
} public void setPos() {
yStep+=3;
for(int i=0;i<str.length;i++) {
str[i].setPosition(300-(20-i*2+yStep));
}
} void jButton1_actionPerformed(ActionEvent e) {
if(myThread == null) {
myThread = new Thread(this);
myThread.start();
}
} class MyChar {
int x,y;
char ch;
int index = 0;
boolean direct = false; public MyChar(int index,char ch) {
this.ch = ch;
this.index = index;
} public void setPosition(int y) {
if(direct) {
index++;
if(index == str.length)
direct = false;
} else {
index--;
if(index == 0)
direct = true;
}
this.x = (int)(Math.cos(((double)((index/10.0f)*Math.PI))) * 40.0f)+xCenter;
this.y = y;
} public void draw(Graphics g) {
g.drawString(new String(new char[]{ch}),x,y);
}
} class MyPanel extends JPanel {
public MyPanel() {
} public void paint(Graphics g) {
g.setColor(Color.white);
g.fillRect(0,0,400,500);
g.setColor(Color.black);
for(int i=0;i<str.length;i++) {
str[i].draw(g);
}
}
} public static void main(String[] args) {
Circle frame = new Circle();
frame.validate();
frame.setVisible(true);
}
}
我试试看,看能否实现
怎么汉字不听使唤了?
能否给个输入窗口
填入一串汉字,点开始
然后螺旋上升?
import java.awt.event.*;
import javax.swing.*;public class Circle extends JFrame implements Runnable {
private JPanel contentPane;
private BorderLayout borderLayout1 = new BorderLayout();
private JButton jButton1 = new JButton();
private MyPanel panel1 = new MyPanel();
Thread myThread = null;
MyChar[] str = null;
int yStep = 0;
int xCenter = 190;
private JTextField jTextField1 = new JTextField(); //Construct the frame
public Circle() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception {
//setIconImage(Toolkit.getDefaultToolkit().createImage(Frame1.class.getResource("[Your Icon]")));
contentPane = (JPanel) this.getContentPane();
jButton1.setText("开始");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
jButton1_actionPerformed(e);
}
});
contentPane.setLayout(borderLayout1);
this.setSize(new Dimension(400, 423));
this.setTitle("Frame Title");
jTextField1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
jTextField1_actionPerformed(e);
}
});
contentPane.add(jButton1, BorderLayout.SOUTH);
contentPane.add(jTextField1, BorderLayout.NORTH);
contentPane.add(panel1, BorderLayout.CENTER); }
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
} public void run() {
Thread theThread = Thread.currentThread(); while(true) {
setPos();
panel1.repaint();
try {
theThread.sleep(300);
} catch(InterruptedException ie) {
ie.printStackTrace();
}
}
} public void setPos() {
yStep+=3;
for(int i=0;i<str.length;i++) {
str[i].setPosition(300-(20-i*2+yStep));
}
if(yStep >= 230)
yStep = 0;
} void jButton1_actionPerformed(ActionEvent e) {
if(str == null) {
jTextField1_actionPerformed(null);
}
if(str == null)
return;
if(myThread == null) {
myThread = new Thread(this);
myThread.start();
}
} class MyChar {
int x,y;
char ch;
int index = 0;
boolean direct = false; public MyChar(int index,char ch) {
this.ch = ch;
this.index = index;
if(index == 0)
direct = true;
} public void setPosition(int y) {
if(direct) {
index++;
if(index == str.length)
direct = false;
} else {
index--;
if(index == 0)
direct = true;
}
this.x = (int)(Math.cos(((double)((index/((float)str.length))*Math.PI))) * ((float)str.length * 6))+xCenter;
this.y = y;
} public void draw(Graphics g) {
g.drawString(new String(new char[]{ch}),x,y);
}
} class MyPanel extends JPanel {
public MyPanel() {
} public void paint(Graphics g) {
g.setColor(Color.white);
g.fillRect(0,0,400,500);
g.setColor(Color.black);
if(str == null)
return;
for(int i=0;i<str.length;i++) {
str[i].draw(g);
}
}
} public static void main(String[] args) {
Circle frame = new Circle();
frame.validate();
frame.setVisible(true);
} void jTextField1_actionPerformed(ActionEvent e) {
//initial
yStep = 0;
char[] charArr = jTextField1.getText().toCharArray();
str = new MyChar[charArr.length];
for(int i=0;i<charArr.length;i++) {
str[i] = new MyChar(i,charArr[i]);
}
setPos();
}
}