Hallo,
ich würde gerne von einer public class aus, nach dessen ablauf, eine andere public class aufrufen. Geht sowas überhaupt? Wahrscheinlich wird es mit den zwei mains Probleme geben?
Hier der Code der 1. public class (wird als erstes ausgeführt):
Nach dieser (3000 milis), also kein System.exit(0), soll dann diese gestartet werden:
Kann man das irgendwie machen?
ich würde gerne von einer public class aus, nach dessen ablauf, eine andere public class aufrufen. Geht sowas überhaupt? Wahrscheinlich wird es mit den zwei mains Probleme geben?
Hier der Code der 1. public class (wird als erstes ausgeführt):
Code:
import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
import java.awt.event.*;
public class SplashScreen extends JFrame {
public SplashScreen(String image, String text){
JPanel contentPane = new JPanel();
contentPane.setLayout(new BorderLayout());
Border bd1 = BorderFactory.createBevelBorder(BevelBorder.RAISED);
Border bd2 = BorderFactory.createEtchedBorder();
Border bd3 = BorderFactory.createCompoundBorder(bd1,bd2);
((JPanel)contentPane).setBorder(bd3);
ImageIcon icon = new ImageIcon(image);
contentPane.add(new JLabel(" ", JLabel.CENTER), BorderLayout.NORTH);
contentPane.add(new JLabel(icon, JLabel.CENTER), BorderLayout.CENTER);
contentPane.add(new JLabel(text, JLabel.CENTER), BorderLayout.SOUTH);
setContentPane(contentPane);
}
public void showFor(int millis){
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
setLocation(dim.width / 3, dim.height /3);
setSize(dim.width / 3, dim.height / 3);
setVisible(true);
try{
Thread.sleep(millis);
}
catch (InterruptedException e){
}
setVisible(false);
}
public static void main (String [] args){
SplashScreen intro = new SplashScreen(
"bild1.jpg",
"(C) Copyright 2005, F. Fronauer, All Rights Reserved");
intro.showFor(3000);
System.exit(0);
}
}
Code:
import java.util.*;
import java.awt.*;
import java.awt.event.*;
public class Lotto_awt extends Frame implements ActionListener {
String trenn = ",";
String ergebnis;
Button neu, ende;
int auswahl;
Label anzeige1, anzeige2, anzeige3;
Panel panel1, panel2;
public Lotto_awt(String title) {
super(title);
setSize (300,300);
setLocation(300,200);
assignIcon();
setResizable(false);
setMenuBar(new MainMenu1());
init();
}
private void assignIcon()
{
Image img = getToolkit().getImage("Image2.gif");
MediaTracker mt = new MediaTracker(this);
mt.addImage(img, 0);
try {
//Warten, bis das Image vollständig geladen ist,
mt.waitForAll();
} catch (InterruptedException e) {
//nothing
}
setIconImage(img);
}
public void init(){
Panel panel1 = new Panel();
panel1.setLayout(new GridLayout(3,1));
panel1.add (anzeige1 = new Label (""));
panel1.setBackground(Color.lightGray);
panel1.add (anzeige2 = new Label (" Mein Lottotip: "));
panel1.add (anzeige3 = new Label ("Coded by Florian F. - V1.0 - 2005"));
Panel panel2 = new Panel();
panel2.setLayout(new FlowLayout(FlowLayout.RIGHT));
panel2.add(neu = new Button ("Neue Ziehung"));
neu.addActionListener(this);
panel2.add(ende = new Button("Ende"));
ende.addActionListener(this);
panel2.setBackground(Color.darkGray);
//Hauptfenster
setLayout(new BorderLayout());
add(panel1, BorderLayout.CENTER);
add(panel2, BorderLayout.SOUTH);
setVisible(true);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent event){
System.exit(0);
};
});
}
public void actionPerformed(ActionEvent event){
if (event.getSource() == ende) {
System.exit(0);
}
if (event.getSource() == neu) {
removeAll();
init();
}
}
public void paint (Graphics g){
anzeige1.setFont(new Font("Verdana",Font.BOLD,15));
anzeige2.setFont(new Font("Verdana",Font.BOLD,12));
anzeige2.setBackground(Color.red);
anzeige1.setText(" Die Lottozahlen für die nächste Ziehung");
BitSet b = new BitSet();
Random r = new Random();
int cnt = 0;
while (cnt < 6) {
int num = 1 + Math.abs(r.nextInt()) % 49;
if (!b.get(num)) {
b.set(num);
cnt++;
}
}
for (int i = 1; i <= 49; i++){
if (b.get(i)) {
anzeige2.setText(anzeige2.getText()+" "+i);
}
}
}
public static void main (String[] args){
new Lotto_awt("Die Lottozahlen");
}
}
//*****************************************************************************
//Das Menü
class MainMenu1 extends MenuBar implements ActionListener
{
MenuItem info, ende;
public MainMenu1()
{
Menu m;
m = new Menu("Hinweise");
m.add(info = new MenuItem("Info"));
info.addActionListener(this);
m.add(ende = new MenuItem("Ende"));
ende.addActionListener(this);
add(m);
}
public void actionPerformed(ActionEvent event){
if(event.getSource()== info){
new Info();
}
if(event.getSource()== ende){
System.exit(0);
}
}
}
//****************************************************************************
class Info extends Frame implements ActionListener{
Button ok;
Label info1, info2, info3, info4, info5, info6;
public Info(){
setSize(250,175);
setLayout(new GridLayout(2,1));
setBackground(Color.lightGray);
setResizable(false);
setLocation(450,250);
setTitle("Hinweise");
Panel panel1 = new Panel();
panel1.setLayout(new GridLayout(6,1));
panel1.add (info1 = new Label (" Ich helfe Ihnen beim Lottospielen!"));
panel1.add (info2 = new Label (" 25% Ihrer Gewinne stehen mir zu!"));
panel1.add (info3 = new Label (" Nehmen Sie bzgl. der Gewinnverteilung"));
panel1.add (info4 = new Label (" mit mir Kontakt auf:"));
panel1.add (info5 = new Label (" [email]ruletheworld@gmx.de[/email]"));
panel1.add (info6 = new Label (" VIEL GLÜCK!"));
Panel panel2 = new Panel();
panel2.setLayout(new FlowLayout(FlowLayout.CENTER));
panel2.add(ok = new Button("OK"));
ok.addActionListener(this);
setLayout(new BorderLayout());
add(panel1, BorderLayout.CENTER);
add(panel2, BorderLayout.SOUTH);
setVisible(true);
}
public void actionPerformed (ActionEvent e){
if (e.getSource() == ok){
dispose();
}
}
public void paint(Graphics g){
info5.setFont(new Font("Verdana",Font.BOLD,15));
info5.setForeground(Color.blue);
info6.setFont(new Font("Verdana",Font.BOLD,13));
}
}