我从未运行过Java代码,我想运行我将在下面发布的代码。有人能告诉我如何在Ubuntu上运行代码,包括我应该安装什么东西吗?
我还想修改它,把一个心脏图像放在这个家伙的胸前,写下我爱你。有人能帮我吗?
import java.awt.*;
import java.applet.*;
public class FunnyClown extends Applet {
public void init() {
}
public void paint(Graphics g) {
g.drawString("See! A Funny Clown=)", 30, 30 );
//Draw a beautiful sky
setBackground(Color.cyan);
//Grass
g.setColor(Color.green);
g.fillRect(0,580,1500,3000);
//Draw a round face
g.setColor(Color.white);
g.fillArc(555,300,140,150,0,360);
//Eyes
g.setColor(Color.black);
g.fillArc(600,360,15,20,0,360);
g.fillArc(640,360,15,20,0,360);
//Smile
g.setColor(Color.red);
g.drawArc(615,420,20,8,190,200);
//Hat
g.setColor(Color.pink);
g.fillArc(520,290,205,60,0,360);
g.fillRect(568,220,115,100);
g.fillArc(568,200,115,50,0,360);
//Ribbons
g.setColor(Color.white);
g.fillRect(568,285,115,15);
//Body
g.setColor(Color.white);
g.fillRect(543,470,25,70);
g.fillRect(683,470,25,70);
g.fillArc(543,535,20,25,0,360);
g.fillArc(685,535,20,25,0,360);
//T-shirt
g.setColor(Color.yellow);
g.fillRect(570,450,110,200);
int []x1={570,500,570};
int []y1={450,475,490};
g.fillPolygon(x1,y1,3);
int []x2={680,750,680};
int []y2={450,475,490};
g.fillPolygon(x2,y2,3);
//Pants
g.setColor(Color.blue);
g.fillRect(570,580,110,150);
g.setColor(Color.green);
int []x3={625,598,638};
int []y3={600,730,730};
g.fillPolygon(x3,y3,3);
//Shoes
g.setColor(Color.black);
g.fillArc(570,728,35,30,0,360);
g.fillArc(642,728,35,30,0,360);
//Clouds
g.setColor(Color.white);
g.fillArc(100,100,60,60,0,360);
g.fillArc(120,120,70,70,0,360);
g.fillArc(120,80,70,70,0,360);
g.fillArc(160,70,80,80,0,360);
g.fillArc(190,75,90,90,0,360);
g.fillArc(240,85,60,60,0,360);
g.fillArc(220,110,70,70,0,360);
g.fillArc(170,120,70,70,0,360);
//Sun
g.setColor(Color.yellow);
int x[]={900,1080,1180,980,1080,1180,800,900,1000};
int y[]={100,80,150,80,100,80,110,100,60};
g.fillPolygon(x,y,9);
g.setColor(Color.red);
g.fillArc(1015,50,80,80,0,360);
//Flower
g.setColor(Color.magenta);
g.fillArc(80,500,20,20,0,360);
g.fillArc(95,485,20,20,0,360);
g.fillArc(110,500,20,20,0,360);
g.fillArc(86,515,20,20,0,360);
g.fillArc(103,515,20,20,0,360);
g.setColor(Color.yellow);
g.fillArc(95,503,20,20,0,360);
g.setColor(Color.darkGray);
g.fillRect(103,525,5,70);
g.setColor(Color.magenta);
g.fillArc(300,500,20,20,0,360);
g.fillArc(315,485,20,20,0,360);
g.fillArc(330,500,20,20,0,360);
g.fillArc(306,515,20,20,0,360);
g.fillArc(323,515,20,20,0,360);
g.setColor(Color.yellow);
g.fillArc(315,503,20,20,0,360);
g.setColor(Color.darkGray);
g.fillRect(323,525,5,70);
g.setColor(Color.magenta);
g.fillArc(190,500,20,20,0,360);
g.fillArc(205,485,20,20,0,360);
g.fillArc(220,500,20,20,0,360);
g.fillArc(196,515,20,20,0,360);
g.fillArc(217,515,20,20,0,360);
g.setColor(Color.yellow);
g.fillArc(205,503,20,20,0,360);
g.setColor(Color.darkGray);
g.fillRect(215,525,5,70);
//House
g.setColor(Color.gray);
int []x4={850,1050,1250};
int []y4={300,200,300};
g.fillPolygon(x4,y4,3);
g.setColor(Color.lightGray);
g.fillRect(850,300,400,300);
//Window
g.setColor(Color.cyan);
g.drawRect(1100,350,100,100);
g.drawLine(1100,400,1200,400);
g.drawLine(1150,350,1150,450);
//Door
g.setColor(Color.darkGray);
g.fillRect(900,400,130,200);
g.setColor(Color.yellow);
g.fillArc(930,480,10,10,0,360);
}
}
要绘制我爱你
文本,您可以调用:g.drawString(...)
方法并将其放置在T恤上。
接下来绘制心形,您可以使用ASCII的心形调用相同的方法:♥
但一定要使用漂亮(足够大)的字体,以便能够正确显示,例如:
g.setFont(new Font("Verdana", Font.PLAIN, 25));
g.setColor(Color.BLACK);
g.drawString("I love you", 570, 480);
g.setColor(Color.RED);
g.drawString("♥", 620, 510);
但正如您所说,浏览器不再支持Java小程序,您可以做两件事:
我们将通过第一个步骤:
首先,我们需要改变:
// Draw a beautiful sky
setBackground(Color.cyan);
为:
g.setColor(Color.CYAN);
g.fillRect(0, 0, 1500, 1000); //I'm lazy to search the window size... change it accordingly
接下来,我们需要从类中删除扩展Applet,并将其更改为扩展JPanel
public void paint(Graphics g) {
收件人:
@Override
public void paintComponent(Graphics g) {
并添加另一个重写方法:
@Override
public Dimension getPreferredSize() {
return new Dimension(1500, 1000); //Again, change it to the window's correct size.
}
要完成,我们需要创建一个main
方法,如下所示:
private JFrame frame;
public static void main(String[] args) {
SwingUtilities.invokeLater(new FunnyClown()::createAndShowGui);
}
private void createAndShowGui() {
frame = new JFrame(getClass().getSimpleName());
this.setOpaque(true);
frame.add(this);
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
现在,如果您运行应用程序,您应该会看到以下内容:
作为参考,您需要:
>
安装了Java8个JDK(Oracle首选):请参阅如何在ubuntu上使用apt-get安装Java
下一点JavaIDE(我推荐你Eclipse)
如何在Eclipse中创建可运行的Jar并在Eclipse下创建可执行的Jar文件。这样,您只需双击文件即可运行它。
问题内容: 我已经编写了一些代码来编译Java源代码。然后生成.class文件。问题是如何运行它? 例如,我可以设置程序和类的名称,可以使用prog p = new prog(),但是在这种情况下,类文件在编译之前尚不存在。不太确定该怎么办。有人可以给我建议吗? 顺便说一句,该类如下所示: 问题答案: 如果只想运行它,则可以使用Runtime.exec或ProcessBuilder启动Java进程
问题内容: 我想知道如何在Java中运行PHP代码。使用ScriptEngine,我可以运行JavaScript: 为此,我导入了库。我相信要运行PHP,我必须导入一个类似的库,并将上面代码的第三行更改为extension 。不幸的是,我不知道这是哪个库。我已经用Google搜索并找到了答案,并遇到了PHP / Java Bridge库,但是我认为这并不是我要找的,因为它专注于通过PHP运行Jav
问题内容: 我正在编译一个简单的程序 我在命令提示符下输入了Java Test.java,但没有成功 我没有使用任何IDE 我应该在哪里将程序文件放在计算机上 谢谢 问题答案: 您不能直接运行Java源文件。您需要先使用进行编译: 然后,您将获得一个可以运行的.class文件:
问题内容: 我有用R编写的程序。我可以从R GUI运行它,它会吐出结果。 有没有办法从Java运行该程序? 问题答案: 您可能需要看一下这三个项目。 JRI-Java / R接口 Rserve rcaller
问题内容: 基本上,我想做两件事: 我想知道是否可以使用Java代码运行Java代码。 如果可能的话,如何在屏幕上显示输出?(无论是常规输出还是错误或异常) 我知道这是可能的,因为我的一位前辈已经做到了,但是我不知道他是如何做到的。也许他使用了Java的内置类之一。 注意:用户将代码写入一些文本文件中,然后将文件内容存储在某个变量中,然后也许运行该代码。 问题答案: 是的,有可能。 步骤1:编译代
问题内容: 是否可以编写一个在终止程序时System.exit将调用的方法? 问题答案: 使用。