Guten Abend,
Ich habe mehrere Klassen mit main(). Gibt es eine Möglichkeit diese alle in eine einzige .jar zu stecken?
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
public class ZweiteGUI {
private JFrame frame;
private JTextArea text;
public static void main (String args[]) {
ZweiteGUI zwo = new ZweiteGUI();
zwo.los2();
}
public void los2() {
frame = new JFrame("frame");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
text = new JTextArea(2, 20);
text.setLineWrap(true);
text.setWrapStyleWord(true);
text.setText("Eines Tages kam ihm eine Idee: anstatt jede GUI auf ihrer eigenen Weide zu halten, würde er sie beide in eine einzige .jar-File stecken, auf dass er sie nie wieder in seinem Datenwust suchen müsse. Das einzigen Problem war, dass er keine Ahnung hatte wie er das anstellen solle, hatte er sein Hirtendasein doch gerade erst begonnen. Daher reiste er zum König, in der Hoffning, dass dieser ihm in seiner unendlichen Weisheit einen Rat gäbe, wie er dies Bewerkstelligen könne.");
panel.add(text);
frame.setVisible(true);
frame.setSize(500, 200);
frame.getContentPane().add(BorderLayout.CENTER, panel);
}
}
[/code]
Desweiteren möchte ich beide durch eine 3. GUI per Button starten, komme aber auch hier nicht weiter..
Ich würde mich sehr freuen, wenn mir jemand den richtigen Weg wiese ;-)
Gruss,
sn0
Ich habe mehrere Klassen mit main(). Gibt es eine Möglichkeit diese alle in eine einzige .jar zu stecken?
ErsteGUI
Java:
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
public class ErsteGUI {
private JFrame frame;
private JTextArea text;
public static void main (String args[]) {
ErsteGUI eins = new ErsteGUI();
eins.los();
}
public void los() {
frame = new JFrame("ErsteGUI");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
text = new JTextArea(2, 20);
text.setText("Vor langer, langer Zeit lebte einst ein Hirte, in einem aussergewöhnlichen Lande, das sich Java nannte. Er hatte 2 GUIs, die er sehr liebte. Durch die aussergewöhnlichen Umstände im Lande Java, konnten diese sich aber leider nicht sehen; In seinem Datensalat musste er sie immer ewig suchen, bis er sie endlich mal fand. Dabei waren sie sich so ähnlich, dass sie sich sicher gut Verstanden hätten. Was auch immer er versuchte, sie kamen sich einfach nicht näher, als ob sie von der Existenz des Anderen nichts wüssten, dabei war es doch sein grösster Wunsch, dass sie Gemeinsam durch den Speicher tollten!");
text.setLineWrap(true);
text.setWrapStyleWord(true);
panel.add(text);
frame.setVisible(true);
frame.setSize(500, 200);
frame.getContentPane().add(BorderLayout.CENTER, panel);
}
}
ZweiteGUI
[Java]import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
public class ZweiteGUI {
private JFrame frame;
private JTextArea text;
public static void main (String args[]) {
ZweiteGUI zwo = new ZweiteGUI();
zwo.los2();
}
public void los2() {
frame = new JFrame("frame");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
text = new JTextArea(2, 20);
text.setLineWrap(true);
text.setWrapStyleWord(true);
text.setText("Eines Tages kam ihm eine Idee: anstatt jede GUI auf ihrer eigenen Weide zu halten, würde er sie beide in eine einzige .jar-File stecken, auf dass er sie nie wieder in seinem Datenwust suchen müsse. Das einzigen Problem war, dass er keine Ahnung hatte wie er das anstellen solle, hatte er sein Hirtendasein doch gerade erst begonnen. Daher reiste er zum König, in der Hoffning, dass dieser ihm in seiner unendlichen Weisheit einen Rat gäbe, wie er dies Bewerkstelligen könne.");
panel.add(text);
frame.setVisible(true);
frame.setSize(500, 200);
frame.getContentPane().add(BorderLayout.CENTER, panel);
}
}
[/code]
Desweiteren möchte ich beide durch eine 3. GUI per Button starten, komme aber auch hier nicht weiter..
Hirte
Java:
import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import java.util.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
import java.io.*;
public class Hirte {
private JFrame frame;
public static void main (String args[]) {
Hirte h = new Hirte();
h.losh();
}
public void losh() {
frame = new JFrame("frame");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.setSize(500, 200);
JButton eins = new JButton("Erster Teil");
JButton zwo = new JButton("Zweiter Teil");
JPanel panel = new JPanel();
panel.add(eins);
panel.add(zwo);
eins.addActionListener(new ErsteGUIListener());
zwo.addActionListener(new ZweiteGUIListener());
}
public class ErsteGUIListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
Hirte g1 = new Hirte();
g1.los();
/* los is undifined for type hirte
* was muss ich tun um ERsteGUI zu starten?
*/
}
}
//...
}
Gruss,
sn0