Wie exportiere ich aus eclipse ein Fertiges Projekt in eine Ausführbare Datei?
Danke Dafür Noch eine FRage ich habe jz ein ActionListener und der gibt was auf der Console aus. Aber wie macht man das das es im Fenster diesen Text Ausgibt sozugane die Console in das Fenster Einbauen.Export --> runnable jar-File
Und in dieses Panel eine ScrollPane und da rein eine TextArea.Tu einfach ein weiteres JPanel in dein JFrame.
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Hauptfenster extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
private JPanel panelMitKonsole;
private JPanel hauptPanel;
private JTextArea textAreaEigeneKonsole = new JTextArea();
// Konstruktor
public Hauptfenster() {
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("Uebung");
this.pack();
this.setLocationRelativeTo(null);
// Das Fenster soll in Vollbild angezeigt werden.
this.setExtendedState(this.MAXIMIZED_BOTH);
hauptPanel = new JPanel();
this.getContentPane().add(hauptPanel, null);
hauptPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
JButton btnA = new JButton("A");
hauptPanel.add(btnA);
btnA.setActionCommand("btnA");
btnA.addActionListener(this);
btnA.setVisible(true);
panelMitKonsole = new JPanel();
panelMitKonsole.setPreferredSize(new Dimension(0, 200));
panelMitKonsole.setLayout(new FlowLayout(FlowLayout.LEFT));
panelMitKonsole.setBorder(BorderFactory.createLineBorder(Color.GRAY, 2));
this.getContentPane().add(panelMitKonsole, BorderLayout.SOUTH);
int widthOfScreen = Toolkit.getDefaultToolkit().getScreenSize().width;
textAreaEigeneKonsole.setText("");
JScrollPane meineScrollPane = new JScrollPane(textAreaEigeneKonsole);
panelMitKonsole.add(meineScrollPane);
meineScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
meineScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
meineScrollPane.setPreferredSize(new Dimension(widthOfScreen - 15, 185));
this.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("btnA")) {
inEigenerKonsoleAusgeben("Der Benutzer hat auf den Button mit der Beschriftung \"A\" geklickt");
}
}
public void inEigenerKonsoleAusgeben(String s) {
textAreaEigeneKonsole.append(s + "\n");
}
}
class Hauptprogramm {
public static void main(String[] args) {
new Hauptfenster();
}
}
Danke dafür ist ein wenig Kompliziert verstehe nicht alles aber warum kommt das hier http://prntscr.com/egahi1 ?Java:import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class Hauptfenster extends JFrame implements ActionListener { private static final long serialVersionUID = 1L; private JPanel panelMitKonsole; private JPanel hauptPanel; private JTextArea textAreaEigeneKonsole = new JTextArea(); // Konstruktor public Hauptfenster() { this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setTitle("Uebung"); this.pack(); this.setLocationRelativeTo(null); // Das Fenster soll in Vollbild angezeigt werden. this.setExtendedState(this.MAXIMIZED_BOTH); hauptPanel = new JPanel(); this.getContentPane().add(hauptPanel, null); hauptPanel.setLayout(new FlowLayout(FlowLayout.LEFT)); JButton btnA = new JButton("A"); hauptPanel.add(btnA); btnA.setActionCommand("btnA"); btnA.addActionListener(this); btnA.setVisible(true); panelMitKonsole = new JPanel(); panelMitKonsole.setPreferredSize(new Dimension(0, 200)); panelMitKonsole.setLayout(new FlowLayout(FlowLayout.LEFT)); panelMitKonsole.setBorder(BorderFactory.createLineBorder(Color.GRAY, 2)); this.getContentPane().add(panelMitKonsole, BorderLayout.SOUTH); int widthOfScreen = Toolkit.getDefaultToolkit().getScreenSize().width; textAreaEigeneKonsole.setText(""); JScrollPane meineScrollPane = new JScrollPane(textAreaEigeneKonsole); panelMitKonsole.add(meineScrollPane); meineScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); meineScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); meineScrollPane.setPreferredSize(new Dimension(widthOfScreen - 15, 185)); this.setVisible(true); } @Override public void actionPerformed(ActionEvent e) { if (e.getActionCommand().equals("btnA")) { inEigenerKonsoleAusgeben("Der Benutzer hat auf den Button mit der Beschriftung \"A\" geklickt"); } } public void inEigenerKonsoleAusgeben(String s) { textAreaEigeneKonsole.append(s + "\n"); } } class Hauptprogramm { public static void main(String[] args) { new Hauptfenster(); } }
krass danke hat funktioniert werde das gleich versuchen einzuabauen und verstehenEclipse erkennt die Main-Methode nicht. Klick mit der rechten Maustaste auf das Projekt und dann
Run As -> Java Application
Ich bin zu blöd das hier einzubauen. Wie mache ich das?Eclipse erkennt die Main-Methode nicht. Klick mit der rechten Maustaste auf das Projekt und dann
Run As -> Java Application
PS: Screenshots kannst du auch hier hochladen. Du musst nicht prnt.sc verwenden.
package defaultfolder;
import defaultfolder.Var;
import java.awt.GridLayout;
import java.awt.TextField;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class GUI {
public GUI() {
JFrame jf = new JFrame();
jf.setSize(700, 700);
jf.setTitle("EssenApp");
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setLayout(new GridLayout(6, 5));
Var.JetzigerBetrag.setLayout(null);
Var.JetzigerBetrag.setBounds(10, 10, 30, 30);
jf.add(Var.JetzigerBetrag);
jf.add(Var.Pizza);
jf.add(Var.TomatenMozarella);
jf.add(Var.Schnitzel);
jf.add(Var.Pommes);
jf.add(Var.Brot);
jf.add(Var.Käsenudeln);
jf.add(Var.Käsespetzle);
jf.add(Var.Schweinsbraten);
jf.add(Var.Spaghetti);
jf.add(Var.Ente);
jf.add(Var.leer1);
jf.add(Var.leer2);
jf.add(Var.leer3);
jf.add(Var.leer4);
jf.add(Var.leer5);
jf.add(Var.Radler);
jf.add(Var.Bier);
jf.add(Var.Cola);
jf.add(Var.Fanta);
jf.add(Var.Sprite);
jf.add(Var.leer7);
jf.add(Var.leer8);
jf.add(Var.leer9);
jf.add(Var.leer10);
jf.add(Var.leer6);
jf.add(Var.leer11);
jf.add(Var.JetzigerBetrag);
jf.add(Var.leer12);
jf.add(Var.resett);
jf.add(Var.leer13);
Var.resett.addActionListener(e->{
Var.Summe = 0;
Var.ColaAnzahl = 0;
Var.FantaAnzahl = 0;
Var.SpriteAnzahl = 0;
Var.BierAnzahl = 0;
Var.RadlerAnzahl = 0;
});
Var.Cola.addActionListener(e->{
Var.Cola2 = 2;
Var.Summe += Var.Cola2;
Var.ColaAnzahl++;
});
Var.Fanta.addActionListener(e->{
Var.Fanta2 = 2;
Var.Summe += Var.Fanta2;
Var.FantaAnzahl++;
});
Var.Sprite.addActionListener(e->{
Var.Sprite2 = 2.10f;
Var.Summe += Var.Sprite2;
Var.SpriteAnzahl++;
});
Var.Bier.addActionListener(e->{
Var.Bier2 = 2.30f;
Var.Summe += Var.Bier2;
Var.BierAnzahl++;
});
Var.Radler.addActionListener(e-> {
Var.Radler2 = 2.23f;
Var.Summe += Var.Radler2;
Var.RadlerAnzahl++;
});
Var.JetzigerBetrag.addActionListener(e->{
if(Var.ColaAnzahl > 0){
}
if(Var.FantaAnzahl > 0){
}
if(Var.SpriteAnzahl > 0){
}
if(Var.BierAnzahl > 0){
}
if(Var.RadlerAnzahl > 0){
}
System.out.println("Aktuelle Kosten:"+ Var.Summe +"€");
});
}
}
Dazu brauche ich auch den Code von der Klasse Var.
public class Var {
public static String Cola1, Fanta1, Bier1, Radler1, Sprite1, Ente1, Pommes1, Pizza1, TomatenMozarella1, Brot1, Spaghetti1, Schweinsbraten1, Käsnenudeln1, Käsespätzle1;;
public static float Cola2, Fanta2, Bier2, Radler2, Sprite2, Ente2, Pommes2, Pizza2, TomatenMozarella2, Brot2, Spaghetti2, Schweinsbraten2, Käsnenudeln2, Käsespätzle2, Summe, MWST;
public static int ColaAnzahl, FantaAnzahl, BierAnzahl, RadlerAnzahl, SpriteAnzahl, EnteAnzahl, PommesAnzahl, PizzaAnzahl, TomatenMozarellaAnzahl, BrotAnzahl, SpaghettiAnzahl, SchweinsbratenAnzahl, KäsenudelnAnzahl, KäsespätzleAnzahl;
public static String[] Essen = new String [10];
public static String[] Getränke = new String [5];
public static JButton Pizza = new JButton("Pizza");
public static JButton TomatenMozarella = new JButton("TomatenMozarella");
public static JButton Schnitzel = new JButton("Schnitzel");
public static JButton Pommes = new JButton("Pommes");
public static JButton Schweinsbraten = new JButton("Schweinsbraten");
public static JButton Käsenudeln = new JButton("Käsenudeln");
public static JButton Käsespetzle = new JButton("Käsespetzle");
public static JButton Spaghetti = new JButton("Spaghetti");
public static JButton Brot = new JButton("Brot");
public static JButton Ente = new JButton("Ente");
public static JButton Radler = new JButton("Radler");
public static JButton Bier = new JButton("Bier");
public static JButton Cola= new JButton("Cola");
public static JButton Fanta = new JButton("Fanta");
public static JButton Sprite = new JButton("Sprite");
public static JButton leer1 = new JButton("");
public static JButton leer2 = new JButton("");
public static JButton leer3 = new JButton("");
public static JButton leer4 = new JButton("");
public static JButton leer5 = new JButton("");
public static JButton leer6 = new JButton("");
public static JButton leer7 = new JButton("");
public static JButton leer8 = new JButton("");
public static JButton leer9 = new JButton("");
public static JButton leer10 = new JButton("");
public static JButton leer11 = new JButton("");
public static JButton leer12 = new JButton("");
public static JButton leer13 = new JButton("");
public static JButton leer14 = new JButton("");
public static JButton resett = new JButton("Resett");
public static JButton JetzigerBetrag = new JButton("Kosten");
}
package defaultfolder;
import defaultfolder.Var;
import java.awt.GridLayout;
import java.awt.TextField;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class GUI {
private JPanel panelMitKonsole;
private JPanel hauptPanel;
private JTextArea textAreaEigeneKonsole = new JTextArea();
public GUI() {
JFrame jf = new JFrame();
jf.setSize(700, 700);
jf.setTitle("EssenApp");
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
hauptPanel = new JPanel();
jf.getContentPane().add(hauptPanel, null);
hauptPanel.setLayout(new GridLayout(6, 5));
Var.JetzigerBetrag.setLayout(null);
Var.JetzigerBetrag.setBounds(10, 10, 30, 30);
hauptPanel.add(Var.JetzigerBetrag);
hauptPanel.add(Var.Pizza);
hauptPanel.add(Var.TomatenMozarella);
hauptPanel.add(Var.Schnitzel);
hauptPanel.add(Var.Pommes);
hauptPanel.add(Var.Brot);
hauptPanel.add(Var.Käsenudeln);
hauptPanel.add(Var.Käsespetzle);
hauptPanel.add(Var.Schweinsbraten);
hauptPanel.add(Var.Spaghetti);
hauptPanel.add(Var.Ente);
hauptPanel.add(Var.leer1);
hauptPanel.add(Var.leer2);
hauptPanel.add(Var.leer3);
hauptPanel.add(Var.leer4);
hauptPanel.add(Var.leer5);
hauptPanel.add(Var.Radler);
hauptPanel.add(Var.Bier);
hauptPanel.add(Var.Cola);
hauptPanel.add(Var.Fanta);
hauptPanel.add(Var.Sprite);
hauptPanel.add(Var.leer7);
hauptPanel.add(Var.leer8);
hauptPanel.add(Var.leer9);
hauptPanel.add(Var.leer10);
hauptPanel.add(Var.leer6);
hauptPanel.add(Var.leer11);
hauptPanel.add(Var.JetzigerBetrag);
hauptPanel.add(Var.leer12);
hauptPanel.add(Var.resett);
hauptPanel.add(Var.leer13);
Var.resett.addActionListener(e -> {
inEigenerKonsoleAusgeben("huhu");
Var.Summe = 0;
Var.ColaAnzahl = 0;
Var.FantaAnzahl = 0;
Var.SpriteAnzahl = 0;
Var.BierAnzahl = 0;
Var.RadlerAnzahl = 0;
});
Var.Cola.addActionListener(e -> {
Var.Cola2 = 2;
Var.Summe += Var.Cola2;
Var.ColaAnzahl++;
});
Var.Fanta.addActionListener(e -> {
Var.Fanta2 = 2;
Var.Summe += Var.Fanta2;
Var.FantaAnzahl++;
});
Var.Sprite.addActionListener(e -> {
Var.Sprite2 = 2.10f;
Var.Summe += Var.Sprite2;
Var.SpriteAnzahl++;
});
Var.Bier.addActionListener(e -> {
Var.Bier2 = 2.30f;
Var.Summe += Var.Bier2;
Var.BierAnzahl++;
});
Var.Radler.addActionListener(e -> {
Var.Radler2 = 2.23f;
Var.Summe += Var.Radler2;
Var.RadlerAnzahl++;
});
Var.JetzigerBetrag.addActionListener(e -> {
if (Var.ColaAnzahl > 0) {
}
if (Var.FantaAnzahl > 0) {
}
if (Var.SpriteAnzahl > 0) {
}
if (Var.BierAnzahl > 0) {
}
if (Var.RadlerAnzahl > 0) {
}
System.out.println("Aktuelle Kosten:" + Var.Summe + "€");
});
// Das Fenster soll in Vollbild angezeigt werden.
jf.setExtendedState(jf.MAXIMIZED_BOTH);
panelMitKonsole = new JPanel();
panelMitKonsole.setPreferredSize(new Dimension(0, 200));
panelMitKonsole.setLayout(new FlowLayout(FlowLayout.LEFT));
panelMitKonsole.setBorder(BorderFactory.createLineBorder(Color.GRAY, 2));
jf.getContentPane().add(panelMitKonsole, BorderLayout.SOUTH);
int widthOfScreen = Toolkit.getDefaultToolkit().getScreenSize().width;
textAreaEigeneKonsole.setText("");
JScrollPane meineScrollPane = new JScrollPane(textAreaEigeneKonsole);
panelMitKonsole.add(meineScrollPane);
meineScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
meineScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
meineScrollPane.setPreferredSize(new Dimension(widthOfScreen - 15, 185));
jf.setVisible(true);
}
public void inEigenerKonsoleAusgeben(String s) {
textAreaEigeneKonsole.append(s + "\n");
}
}
class Hauptprogramm {
public static void main(String[] args) {
new GUI();
}
}
danke!Java:package defaultfolder; import defaultfolder.Var; import java.awt.GridLayout; import java.awt.TextField; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class GUI { private JPanel panelMitKonsole; private JPanel hauptPanel; private JTextArea textAreaEigeneKonsole = new JTextArea(); public GUI() { JFrame jf = new JFrame(); jf.setSize(700, 700); jf.setTitle("EssenApp"); jf.setVisible(true); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); hauptPanel = new JPanel(); jf.getContentPane().add(hauptPanel, null); hauptPanel.setLayout(new GridLayout(6, 5)); Var.JetzigerBetrag.setLayout(null); Var.JetzigerBetrag.setBounds(10, 10, 30, 30); hauptPanel.add(Var.JetzigerBetrag); hauptPanel.add(Var.Pizza); hauptPanel.add(Var.TomatenMozarella); hauptPanel.add(Var.Schnitzel); hauptPanel.add(Var.Pommes); hauptPanel.add(Var.Brot); hauptPanel.add(Var.Käsenudeln); hauptPanel.add(Var.Käsespetzle); hauptPanel.add(Var.Schweinsbraten); hauptPanel.add(Var.Spaghetti); hauptPanel.add(Var.Ente); hauptPanel.add(Var.leer1); hauptPanel.add(Var.leer2); hauptPanel.add(Var.leer3); hauptPanel.add(Var.leer4); hauptPanel.add(Var.leer5); hauptPanel.add(Var.Radler); hauptPanel.add(Var.Bier); hauptPanel.add(Var.Cola); hauptPanel.add(Var.Fanta); hauptPanel.add(Var.Sprite); hauptPanel.add(Var.leer7); hauptPanel.add(Var.leer8); hauptPanel.add(Var.leer9); hauptPanel.add(Var.leer10); hauptPanel.add(Var.leer6); hauptPanel.add(Var.leer11); hauptPanel.add(Var.JetzigerBetrag); hauptPanel.add(Var.leer12); hauptPanel.add(Var.resett); hauptPanel.add(Var.leer13); Var.resett.addActionListener(e -> { inEigenerKonsoleAusgeben("huhu"); Var.Summe = 0; Var.ColaAnzahl = 0; Var.FantaAnzahl = 0; Var.SpriteAnzahl = 0; Var.BierAnzahl = 0; Var.RadlerAnzahl = 0; }); Var.Cola.addActionListener(e -> { Var.Cola2 = 2; Var.Summe += Var.Cola2; Var.ColaAnzahl++; }); Var.Fanta.addActionListener(e -> { Var.Fanta2 = 2; Var.Summe += Var.Fanta2; Var.FantaAnzahl++; }); Var.Sprite.addActionListener(e -> { Var.Sprite2 = 2.10f; Var.Summe += Var.Sprite2; Var.SpriteAnzahl++; }); Var.Bier.addActionListener(e -> { Var.Bier2 = 2.30f; Var.Summe += Var.Bier2; Var.BierAnzahl++; }); Var.Radler.addActionListener(e -> { Var.Radler2 = 2.23f; Var.Summe += Var.Radler2; Var.RadlerAnzahl++; }); Var.JetzigerBetrag.addActionListener(e -> { if (Var.ColaAnzahl > 0) { } if (Var.FantaAnzahl > 0) { } if (Var.SpriteAnzahl > 0) { } if (Var.BierAnzahl > 0) { } if (Var.RadlerAnzahl > 0) { } System.out.println("Aktuelle Kosten:" + Var.Summe + "€"); }); // Das Fenster soll in Vollbild angezeigt werden. jf.setExtendedState(jf.MAXIMIZED_BOTH); panelMitKonsole = new JPanel(); panelMitKonsole.setPreferredSize(new Dimension(0, 200)); panelMitKonsole.setLayout(new FlowLayout(FlowLayout.LEFT)); panelMitKonsole.setBorder(BorderFactory.createLineBorder(Color.GRAY, 2)); jf.getContentPane().add(panelMitKonsole, BorderLayout.SOUTH); int widthOfScreen = Toolkit.getDefaultToolkit().getScreenSize().width; textAreaEigeneKonsole.setText(""); JScrollPane meineScrollPane = new JScrollPane(textAreaEigeneKonsole); panelMitKonsole.add(meineScrollPane); meineScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); meineScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); meineScrollPane.setPreferredSize(new Dimension(widthOfScreen - 15, 185)); jf.setVisible(true); } public void inEigenerKonsoleAusgeben(String s) { textAreaEigeneKonsole.append(s + "\n"); } } class Hauptprogramm { public static void main(String[] args) { new GUI(); } }
Es wird auch in der Windows-Eingabeaufforderung ausgegeben.Ich frag mich warum tut der Befehl System.out.println nur in der Console was ausgeben?
cd bin
java uebung.Hauptprogramm
danke gut zu wisssenEs wird auch in der Windows-Eingabeaufforderung ausgegeben.
Ich zeige dir jetzt, wie man ein mit Eclipse ganz normal kompiliertes Programm (mit GUI) per Eingabeaufforderung startet.
Gehe in dem Workspace-Ordner in den Ordner von dem Projekt. Öffne ,,Editor" und klick auf ,,Speichern unter...". Speichere die Datei mit beliegigem Namen und Dateiendung .bat in dem Ordner von dem Projekt.
Dann Rechtsklick auf die bat-Datei
->Bearbeiten
Schreibe dort folgendes rein und speichere es ab:
Java:cd bin java uebung.Hauptprogramm
In meinem Fall hieß das package ,,uebung" und die Klasse mit der main-Methode hieß ,,Hauptprogramm".
Danach kannst du das mit Doppelklick starten.
Es erscheint dein Programm. Zusätzlich erscheint ein schwarzes Fenster mit dem Titel ,,C:\\WINDOWS\system32\cmd.exe". Dort werden dann die System.out.println()-Ausgaben angezeigt.