.jar Programm auf Webseite bringen

Vehementis

Mitglied
HI
ich hoffe das ich hier endlich hilfe bekomme...
hab schon google und sonst was befragt aber bis jetzt hat alles nicht Funktioniert, meinen Webbrowser zum absturz gebracht oder zumindest das Java simbol erscheinen lassen

Ich hab mir vor ein paar tagen durch Youtube tutorials Java beigebracht und so im verlauf von 2 tagen dann ein recht nützliches Programm für ein spiel geschrieben
da nun endlich alles Funktioniert hatte ich mir gedacht packe ich es mal auf meine website damit es genutzt werden kann...
nur ich hätte nie gedacht das dieser schritt länger dauert als java zu lernen und das Programm an sich zu schreiben...

Ich Programmiere das ganze mit NetBeans IDE 7.1

naja hier erstmal mein Programm damit ihr wisst worum es geht...

VampirSpielccListe.java
Java:
package vampirspielccliste;

public class VampirSpielccListe {

    public static void main(String[] args)
    {
        new GUI();
    }
}

ccFile.java
Java:
package vampirspielccliste;

import java.io.*;
import javax.swing.DefaultListModel;

public class ccFile 
{
    
    private File ccliste;
    private BufferedReader br;
    private BufferedWriter bw;
    public DefaultListModel dlim = new DefaultListModel();
    
    public ccFile()
    {
        ccliste = new File("VampirSpielccs.txt");
    }
    
    public String fileGetContent(int nr)
    {
        String buffer = "";
        String line = "";
        int x = 0;
        dlim.clear();
        
        try 
        {
            br = new BufferedReader(new InputStreamReader(new FileInputStream(ccliste)));
            while((line = br.readLine()) != null)
            {
                if(x >= nr && x != 0)
                    dlim.addElement((x) + " |  " + line);
                x = x + 1;
            }
            br.close();
        }
        catch(Exception ex)
        {
            System.out.println("Datei konnte nicht gefunden werden");
        }
        return buffer;
    }
    
    
    public void writeToFile(String ncc)
    {
        try 
        {
            bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(ccliste, true)));
            bw.append(ncc);
            bw.newLine();
            bw.close();
        } 
        catch (Exception ex) 
        {
            System.out.println("Datei konnte nicht geschrieben werden");
        }
    }
    
}

GUI.java
Java:
package vampirspielccliste;

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class GUI extends JFrame
{
    private ccFile file = new ccFile();
    private JTextField name = new JTextField(15);
    private JTextField cc = new JTextField(5);
    private JButton einfg = new JButton("Hinzufügen");
    private JButton akt = new JButton("Aktualisieren"); 
    private JList liste = new JList(file.dlim);
    private JLabel lname = new JLabel("Name: ");
    private JLabel lcc = new JLabel("cc: ");
    private JScrollPane sPane = new JScrollPane(liste);
    private JTextField nr = new JTextField(4);
    private JLabel lnr = new JLabel("Start Nr.:");
    private JLabel anzinsg = new JLabel();

    private JLabel by = new JLabel("       By Vehementis       ");
    private int nrs = 1;
    
    public GUI()
    {
        file.fileGetContent(1);
        setLayout(new FlowLayout());
        setTitle("Vampir Spiel - CCs");
        setSize(240,550);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        setResizable(false);
        
        nr.setText("1");
        anzinsg.setText("Es sind " + Integer.toString(file.dlim.getSize()) + " CC's in der Liste");
        
        add(lname);
        add(name);
        add(lcc);
        add(cc);
        add(einfg);
        add(sPane);
        add(anzinsg);
        add(akt);
        add(lnr);
        add(nr);
        add(by);
        
        liste.setVisibleRowCount(20);
        sPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
        sPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
        
        
        
        akt.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent ae) 
            {
                try
            {
                nrs = Integer.parseInt(nr.getText());
            }
            catch(Exception ex)
            {
                JOptionPane.showMessageDialog(null, "Bitte eine Startnummer eintragen!");
            }
                file.fileGetContent(nrs);
            }
        });
        
        einfg.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent ae) 
            {
                if(name.getText().isEmpty())
                    JOptionPane.showMessageDialog(null, "Bitte Namen eintragen");
                else if(cc.getText().isEmpty())
                    JOptionPane.showMessageDialog(null, "Bitte CC eintragen");
                else if(cc.getText().length() != 6)
                {
                    JOptionPane.showMessageDialog(null, "Bitte CC überprüfen");
                }
                else 
                {   
                    file.fileGetContent(1);
                    int i = 0;
                    int z = 0;
                    while(i < file.dlim.getSize() && z != -1)
                    {
                    
                        if(file.dlim.get(i).toString().startsWith(cc.getText().toString().toUpperCase(),( file.dlim.get(i).toString().lastIndexOf("|") + 3 )))
                        {
                            z = -1;
                            JOptionPane.showMessageDialog(null, "Der CC ist bereits eingetragen!\n(an Position: " + (i+1) + " )");
                        }
                        i = i + 1;
                        
                    }
                    if(z != -1)
                    {
                        int uber = JOptionPane.showConfirmDialog(null, "Sind die Angaben Richtig?\nName: " + name.getText() + "\nCC: " + cc.getText().toUpperCase());
                        if(uber == 0)
                        {
                            if(name.getText().length()<=15)
                            {
                                file.writeToFile(cc.getText().toUpperCase() + " - " + name.getText());
                            }
                            else
                            {
                                file.writeToFile(cc.getText().toUpperCase() + " - " + name.getText().substring(0, 15));
                            }
                            //einfg.setEnabled(false);
                            name.setText("");
                            cc.setText("");
                            file.fileGetContent(1);
                            JOptionPane.showMessageDialog(null, "Herzlichen Glückwunsch\nSie stehen an Position: " + (file.dlim.getSize()));
                            anzinsg.setText("Es sind " + Integer.toString(file.dlim.getSize()) + " CC's in der Liste");
                        }
                    }
                }
            }
        });
    }      
}

ich hoffe mir kann wer helfen das Programm auf meiner website zum laufen zu bekommen
 
Was meinst du, "auf meiner Website zum Laufen bringen"? Als Applet? Applets sehen codemäßig leicht anders aus als Applikationen. Das musst du dann in einem Tutorial nochmal zusätzlich durcharbeiten.
 
@ _java_freak_
es soll nicht runtergeladen werden das wäre ja kein problem

@ jDennis79_nli
ich will halt das man auf die seite kommt und das java Programm dann ausgeführt wird entweder direkt im browser oder es sich halt in einem neuen fenster öffnet

ja das mit den applets habe ich auch schon mitbekommen
aber ich hab halt auch gelesen das es iwie gehen soll das Programm über ein applet zu starten oder ka...
wäre halt mist das alles nochmal neu zu schreiben und wieder was neues zu lernen wo ich grade anfange mit dem normalen java klar zu kommen
 
Ich glaube, was du meinst, ist WebStart. Ich kenne mich damit nicht aus und bin auch nicht sicher, ob das so funktioniert, wie du dir das vorstellst - aber mit diesem Suchstichwort solltest du zumindest weiterkommen.
 
@ jDennis_nli
danke das hat mich schonmal ein ganzes stück weiter gebracht
ich kann die datei jetzt starten
ist ja eigentlich egal ob im Browser oder auf dem PC


nun habe ich jedoch das Problem das der verweiß auf die zu schreibende und auszulesende *.txt datei nicht mehr funktioniert

[JAVA=16]
ccliste = new File("VampirSpielccs.txt");
[/code]

ich habe es bereits mit folgendem versucht:

[JAVA=16]
ccliste = new File("http://xxx.xx.xxx.xxx/vampirspiel/VampirSpielccs.txt");
[/code]

aber das brigt nicht das erhoffte Ergebnis
(er findet die datei nicht)

wie muss ich den link hier einfügen?
oder ist das ein Problem der Servereinstellung?
 
Zuletzt bearbeitet:
also aus der Datei zu lesen funktioniert schonmal tadellos

der code dazu sieht wie folgt aus:
[JAVA=30]
try
{
br = new BufferedReader(new InputStreamReader(ccliste.openStream()));
while((line = br.readLine()) != null)
{
if(x >= nr && x != 0)
dlim.addElement((x) + " | " + line);
x = x + 1;
}
br.close();
}
[/code]

und das mit dem Schreiben zeigt auch keinen fehler an...
allerdings schreibt es nix in die datei, gibt aber über try catch auch keinen fehler aus

der code dazu:
[JAVA=49]
public void writeToFile(String ncc)
{
try
{
URLConnection connection = ccliste.openConnection();
connection.setDoOutput(true);
bw = new BufferedWriter(new OutputStreamWriter(connection.getOutputStream()));
bw.append(ncc);
bw.newLine();
bw.close();
}
catch (Exception ex)
{
JOptionPane.showMessageDialog(null, "Die Clancode Listen Datei konnte nicht gefunden werden" + "\n" + "Eventuell bestehen Verbindungsprobleme");
}
}
[/code]

lässt der server das schreiben in die Datei nicht zu?
wie kann ich das testen?
aber müsste über catch dann nicht ein Fehler kommen?
 

Zurück
Oben