如何将我的代码转换为可执行的jar文件

时间:2014-05-25 12:00:30

标签: java eclipse

对于一些reazon我不能将我的项目转换为可执行的jar文件,虽然它在我启动eclipse时工作,请给我一个sollution。我想我需要找到一种方法如何使我的代码具有主要功能但是我无论如何只要我尝试它就会说它静态方法不能称为非静态方法。 这是代码:

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.util.Random;

public class Kartuvės extends Applet implements ActionListener{
static final int MIRTIS=13; // maksimalus klaidū skaičius
public int klaidos; // dabartinis klaidū skaičius
public String zinute; // laimėjimas ar pralaimėjimas
public String informacija; // informacija
public String aZodis; // A Žodis
public StringBuffer bZodis;// Bžodis
public Button bIsNaujo; // Mygtukas "Iš Naujo"
public Button bSpek; // Mygtukas "Spėk"
public TextField tfRaide; // Dėžutė spėjamai raidei
public Font fnt; // paprastas šriftas


public  void init(){
fnt = new Font( "Monospaced", 0, 12 );
setFont(fnt);
// Dėžutės į kurią rašoma raidė sukurimas
tfRaide = new TextField();
// mygtukų ir užrašų sukurimas
bIsNaujo = new Button("Iš naujo");
bSpek = new Button("Spėti");
// ankčiau aprašytų elementų pridėjimas
add(bIsNaujo);
add(new Label("Spėk raidę : "));
add(tfRaide);
add(bSpek);
// Java laukia kol paspaus mygtuka
bIsNaujo.addActionListener(this);
bSpek.addActionListener(this);
// žaidimo pradžia
initGame();
}
public void initGame(){
/* klaidų nustatymas ( jei 0 pradedama piešti nuo žemės jei daugiau pradedama piešti nuo tam tikros vietos)*/
klaidos=7;
/* žodžiai atskirti simboliu | vedami čia */
String str =   "computer|radio|calculator|teacher|bureau|police|geometry|president|subject|country|enviroment|classroom|animals|province|month|politics|puzzle|instrument|kitchen|language|vampire|ghost|solution|service|software|virus25|security|phonenumber|expert|website|agreement|support|compatibility|advanced|search|triathlon|immediately|encyclopedia|endurance|distance|nature|history|organization|international|championship|government|popularity|thousand|feature|wetsuit|fitness|legendary|variation|equal|approximately|segment|priority|physics|branche|science|mathematics|lightning|dispersion|accelerator|detector|terminology|design|operation|foundation|application|prediction|reference|measurement|concept|perspective|overview|position|airplane|symmetry|dimension|toxic|algebra|illustration|classic|verification|citation|unusual|resource|analysis|license|comedy|screenplay|production|release|emphasis|director|trademark|vehicle|aircraft|experiment";
String[] temp;
/* simbolis atskiriantis žodžius */
String delimiter = "\\|";
/* atskyrėjas "supjausto" simbolių eilutę */
temp = str.split(delimiter);
Random randomGenerator = new Random();
/* sugeneruojamas atsitiktinis numeris */
int randomInt = randomGenerator.nextInt(temp.length);
aZodis = new String(temp[randomInt]);
char positions[] = new char[aZodis.length()];
for (int i=0; i<aZodis.length(); i++) {
positions[i] = '.';
}
String s = new String(positions);
bZodis = new StringBuffer(s);
tfRaide.setText("");
// žinučių ištrinimas
zinute="";
informacija = "";
repaint();
}
public void paint(Graphics g) {
// Kartuvių piešimas
int baseY = 250;
if (klaidos > 0){ // žemė
g.drawLine(90, baseY,200,baseY);
}
if (klaidos > 1){ // strypas į viršų
g.drawLine(125,baseY,125,baseY-100);
}
if (klaidos > 2){ // primas pasviras strypas 
g.drawLine(110,baseY,125,baseY-15);
}
if (klaidos > 3){ // antras pasviras strypas
g.drawLine(140,baseY,125,baseY-15);
}
if (klaidos > 4){ // šoninis strypas
g.drawLine(125,baseY-100,175,baseY-100);
}
if (klaidos > 5){ // 
g.drawLine(125,baseY-85,140,baseY-100);
}
if (klaidos > 6){ // virvė
g.drawLine(175,baseY-100,175,baseY-75);
}
if (klaidos > 7){ // galva
g.drawOval(170,baseY-75,10,12);
}
if (klaidos > 8){
g.drawOval(170,baseY-65,15,25);
}
if (klaidos > 9){ // rankos
g.drawLine(160,baseY-65,170,baseY-60);
}
if (klaidos > 10){
g.drawLine(183,baseY-60,193,baseY-65);
}
if (klaidos > 11){ // kojos
g.drawLine(165,baseY-30,170,baseY-45);
}
if (klaidos > 12){
g.drawLine(183,baseY-45,193,baseY-30);
}
// rodoma zinute
g.drawString( zinute, 40, baseY+25 );
g.drawString( informacija, 25, baseY+45 );
g.drawString( new String (bZodis), 110, 60);
}
public void actionPerformed(ActionEvent e){
if (e.getSource() == bIsNaujo){
initGame();
}
if (e.getSource() == bSpek){
processTurn();
// Delete the letter input box
tfRaide.setText("");
repaint();
}
}
private void processTurn(){
String s, t;
char a;
s = tfRaide.getText();
a = s.charAt(0);
if (!Character.isLetter(a)){
zinute="vesk tik paprastas raides !";
return;
}
if (s.length()>1){
zinute="Tik po vieną raidę";
return;
}
// ar raidė jau buvo atspėta
t = new String(bZodis);
if (t.indexOf(s) != -1){
zinute="Šią raidę jau atspėjai";
return;
}
// Jei reidės žodyje nėra
if (aZodis.indexOf(s) == -1){
zinute="";
klaidos++;
if (klaidos==MIRTIS){
zinute="Pralaimėjai";
informacija =
"Spausk Iš naujo jei nori pabandyti dar kartą";
}
return;
}
// taškų pakeitimas atspėta raide
for (int i=0; i<aZodis.length(); i++){
if (aZodis.charAt(i) == a){
bZodis.setCharAt(i, a);
}
}
t = new String(bZodis);
// Jei atspėtos visos raidės
if (t.indexOf('.') == -1){
zinute="Laimėjai";
return;
}
// Žinutės ištrinimas
zinute="";
repaint();
}
}

2 个答案:

答案 0 :(得分:1)

添加静态主函数,然后在里面启动你的类:

public static void main(String[] args)
{
    Kartuves obj = new Kartuves();
    obj.init(); // Or do whatever you need
}

你不应该在类名或变量中使用变音符号。

比你export executable file from Eclipse

答案 1 :(得分:0)

将项目从Eclipse导出到Netbeans,然后使用netbeans的内置功能构建可执行jar文件。

相关问题