Σελίδα 1 από 2

προβλημα με Java σε γραμμη εντολων..

ΔημοσίευσηΔημοσιεύτηκε: 09 Ιουν 2015, 16:47
από giwrgosatma
Χαιρετε,
Προσπαθω να τρεξω την εφαρμογη στο τερματικο και,αφου εχω βγαλει την .java & .class (απο IDE Eclipse) στην επιφανεια εργασιας τρεχοντας την εντολη java {και το ονομα της εφαρμογης} εχω αυτο το μηνυμα ¨Error: Could not find or load main class"" δοκιμασα και το κανω με Javac .java για να βγαλει το .class και παλι δεν τρεχει..πως το διορθωνω ?
Και κατι ακομα..πως μπορω να κανω τις εφαρμογες να τρεχουν σε γραφικο περιβαλλον και οχι σε γραμμη εντολων?.....Απο το Linux θα τρεχουν στα Windows ?

Re: προβλημα με Java σε γραμμη εντολων..

ΔημοσίευσηΔημοσιεύτηκε: 09 Ιουν 2015, 17:06
από dim.mendrinos
Κάτσε κατ'αρχάς σίγουρα δεν έχει λάθη ο κώδικας σου;;
Έστω ότι έχω το πρόγραμμα calculator.java.
Γράψε
Κώδικας: Επιλογή όλων
javac  calculator.java

και μετα
Κώδικας: Επιλογή όλων
java calculator

Αν σου βγάλει compiler error τύπου line 21 missing ; (πχ) τότε έχεις λάθος στον κώδικα.

Επίσης βεβαιώσου ότι είσαι στο σωστό directory και ότι έχεις εγκαταστήσει το jdk (την java έκδοση στον υπολογιστή σου)

Μπορείς να τρέξεις τον κώδικα σου από πλατφόρμες τύπου:
Eclipse ,
Netbeans.
Δεν θα σου εμφανίσουν γραφικά προφανώς. Τα γραφικά τα προγραμματίζουμε εμείς και θέλουν πολύ δουλειά.
Απλά αντί για CMD θα τρέχει τις εμφανίσεις σου σε δικό του console και αντί για να εκτελείς εντολές για να τρέξεις το πρόγραμμα σου θα
πατάς απλά ένα run και θα κανει compile ποιο εύκολα και θα σε οδηγεί στο λάθος.

Re: προβλημα με Java σε γραμμη εντολων..

ΔημοσίευσηΔημοσιεύτηκε: 09 Ιουν 2015, 17:14
από Ilias95
giwrgosatma έγραψε:Και κατι ακομα..πως μπορω να κανω τις εφαρμογες να τρεχουν σε γραφικο περιβαλλον και οχι σε γραμμη εντολων?.....Απο το Linux θα τρεχουν στα Windows ?

Θα πρέπει να χρησιμοποιήσεις κάποια σχετική βιβλιοθήκη. Για Java μπορείς να χρησιμοποιήσεις Swing, θα βρεις μπόλικο υλικό.
Για να είναι cross platform η εφαρμογή σου, θα πρέπει να μην τρέχεις καθόλου Linux-specific κώδικα ή γενικώς κώδικα που να εξαρτάται από το λειτουργικό σου.
Αν τώρα ξεκινάς την ενασχόληση σου με τον προγραμματισμό, άσε καλύτερα το GUI για αργότερα.

Re: προβλημα με Java σε γραμμη εντολων..

ΔημοσίευσηΔημοσιεύτηκε: 09 Ιουν 2015, 17:16
από dim.mendrinos
Μπορείς και JavaFx και διάφορες άλλες βιβλιοθήκες το θέμα είναι ότι αν δεν έχεις ασχοληθείς καιρό μήν πας απευθειας στα γραφικά θα μπλέξεις.

Re: προβλημα με Java σε γραμμη εντολων..

ΔημοσίευσηΔημοσιεύτηκε: 09 Ιουν 2015, 17:18
από giwrgosatma
στο Eclipse τρεχει στην concola του
http://tinypic.com/r/2qitjyf/8
Απο που προγραμματιζεις γραφικα ?
Οι εφαρμογες που φτιαχνονται απο Linux παιζουν και στα windows ?

Re: προβλημα με Java σε γραμμη εντολων..

ΔημοσίευσηΔημοσιεύτηκε: 09 Ιουν 2015, 17:19
από giwrgosatma
Αγορασα ενα βιβλιο της Java 8h εκδοση των Deitel and Deitel και το διαβαζω.Τωρα που ειναι καλοκαιρι καταλαβαινεις :D

Re: προβλημα με Java σε γραμμη εντολων..

ΔημοσίευσηΔημοσιεύτηκε: 09 Ιουν 2015, 17:24
από giwrgosatma
Ilias95 έγραψε:
giwrgosatma έγραψε:Και κατι ακομα..πως μπορω να κανω τις εφαρμογες να τρεχουν σε γραφικο περιβαλλον και οχι σε γραμμη εντολων?.....Απο το Linux θα τρεχουν στα Windows ?

Θα πρέπει να χρησιμοποιήσεις κάποια σχετική βιβλιοθήκη. Για Java μπορείς να χρησιμοποιήσεις Swing, θα βρεις μπόλικο υλικό.
Για να είναι cross platform η εφαρμογή σου, θα πρέπει να μην τρέχεις καθόλου Linux-specific κώδικα ή γενικώς κώδικα που να εξαρτάται από το λειτουργικό σου.
Αν τώρα ξεκινάς την ενασχόληση σου με τον προγραμματισμό, άσε καλύτερα το GUI για αργότερα.

Επαγγελματικα θελω να πιαστω με τον προγραμματισμο σε Java...για την ωρα μονο σελιδες φτιαχνω...μπορεις να μου δωσεις ενα παραδειγμα απο αυτο που με εστειλες ?

Re: προβλημα με Java σε γραμμη εντολων..

ΔημοσίευσηΔημοσιεύτηκε: 09 Ιουν 2015, 17:24
από dim.mendrinos
Τα γραφικά δεν είναι κάτι διαφορετικό. Δεν είναι άλλο πράγμα.. Όπως μπορείς να γράψεις ένα πρόγραμμα που σε μία μεταβλήτη γ βάζει το αποτέλεσμα α +β
έτσι πάλι και με εντολές (πολλές) τις ίδιας γλώσσας βάζεις και γραφικά. Πρώτα φτιάχνεις το πρόγραμμα σου τους αλγορίθμους σου και μετά βάζεις γραφικά. Όλα έχουν μια συνέχεια .

Όπως σου είπαμε και παραπάνω υπάρχουν διάφορες βιβλιοθήκες για γραφικά. Σε java οι πιο διάσημες είναι η swing και η javafx.
Σου δίνουν διάφορα αντικείμενα ώστε να αποκτήσεις γραφικό περιβάλλον και να αλληλεπιδράσεις.
Άμα άρχισες όμως τώρα τον προγραμματισμό σοβαρά θα μιλήσουμε για γραφικά;;;
Άστα για πολύ πιο μετά και ξεκίνα με τα βασικά

Re: προβλημα με Java σε γραμμη εντολων..

ΔημοσίευσηΔημοσιεύτηκε: 09 Ιουν 2015, 17:27
από dim.mendrinos
Το γνωστό hello world χωρίς γραφικά
Κώδικας: Επιλογή όλων
public class HelloWorld {
public static void main(String args[]){
System.out.println("Hello World");
}
}


σε Swing
Κώδικας: Επιλογή όλων
import javax.swing.*;       

public class HelloWorldSwing {
    /**
     * Create the GUI and show it.  For thread safety,
     * this method should be invoked from the
     * event-dispatching thread.
     */
    private static void createAndShowGUI() {
        //Create and set up the window.
        JFrame frame = new JFrame("HelloWorldSwing");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        //Add the ubiquitous "Hello World" label.
        JLabel label = new JLabel("Hello World");
        frame.getContentPane().add(label);

        //Display the window.
        frame.pack();
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        //Schedule a job for the event-dispatching thread:
        //creating and showing this application's GUI.
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();
            }
        });
    }
}


σε java fx
Κώδικας: Επιλογή όλων
package helloworld;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class HelloWorld extends Application {
    public static void main(String[] args) {
        launch(args);
    }
   
    @Override
    public void start(Stage primaryStage) {
        primaryStage.setTitle("Hello World!");
        Button btn = new Button();
        btn.setText("Say 'Hello World'");
        btn.setOnAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent event) {
                System.out.println("Hello World!");
            }
        });
       
        StackPane root = new StackPane();
        root.getChildren().add(btn);
        primaryStage.setScene(new Scene(root, 300, 250));
        primaryStage.show();
    }
}


Για μένα βιάζεσαι.. Δεν γνωρίζεις αν κατάλαβα καλά java και αντικειμενοστραφή προγραμματισμό και θες να πας στα γραφικά.
Είναι τελείως λάθος. Φιλικά πάντα :)

Re: προβλημα με Java σε γραμμη εντολων..

ΔημοσίευσηΔημοσιεύτηκε: 09 Ιουν 2015, 17:29
από giwrgosatma
dim.mendrinos έγραψε:Το γνωστό hello world χωρίς γραφικά
Κώδικας: Επιλογή όλων
public class HelloWorld {
public static void main(String args[]){
System.out.println("Hello World");
}
}


σε Swing
Κώδικας: Επιλογή όλων
import javax.swing.*;       

public class HelloWorldSwing {
    /**
     * Create the GUI and show it.  For thread safety,
     * this method should be invoked from the
     * event-dispatching thread.
     */
    private static void createAndShowGUI() {
        //Create and set up the window.
        JFrame frame = new JFrame("HelloWorldSwing");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        //Add the ubiquitous "Hello World" label.
        JLabel label = new JLabel("Hello World");
        frame.getContentPane().add(label);

        //Display the window.
        frame.pack();
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        //Schedule a job for the event-dispatching thread:
        //creating and showing this application's GUI.
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();
            }
        });
    }
}


σε java fx
Κώδικας: Επιλογή όλων
package helloworld;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class HelloWorld extends Application {
    public static void main(String[] args) {
        launch(args);
    }
   
    @Override
    public void start(Stage primaryStage) {
        primaryStage.setTitle("Hello World!");
        Button btn = new Button();
        btn.setText("Say 'Hello World'");
        btn.setOnAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent event) {
                System.out.println("Hello World!");
            }
        });
       
        StackPane root = new StackPane();
        root.getChildren().add(btn);
        primaryStage.setScene(new Scene(root, 300, 250));
        primaryStage.show();
    }
}

Βιαζομαι πολυ για τα γραφικα....μαλλον επειδη εκανα 9 μηνες pascal O.o σε γραμμη εντολων !!!!!!
Ειδες την φωτο που εστειλα στο λινκ ? πως το διορθωνω το μηνυμα που μου βγαζει ?