Hallo,
ich versuche jetzt schon seit ein paar Stunden einen neuen Frame über einen Button zu aktivieren, allerdings nur mit mäßigen erfolg(hatte schonmal funktioniert aber der Button verschwand vom Frame als ich daneben geklickt hab) ;(. Ich würde mich freuen wenn mir jemand sagen kann was ich machen muss damit der Frame erscheint.
ich versuche jetzt schon seit ein paar Stunden einen neuen Frame über einen Button zu aktivieren, allerdings nur mit mäßigen erfolg(hatte schonmal funktioniert aber der Button verschwand vom Frame als ich daneben geklickt hab) ;(. Ich würde mich freuen wenn mir jemand sagen kann was ich machen muss damit der Frame erscheint.
Java:
import java.awt.Component;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
public class Button3 extends JApplet implements ChangeListener, ActionListener, Runnable
{
private static final long serialVersionUID = 1L;
static String CREATE_WINDOW = "new_win";
JLabel label;
JButton btnStart;
Thread Th;
public Button3()
{
this.label = new JLabel( );
btnStart = new JButton("neues Fenster");//Startwert, Min, Max
btnStart.setActionCommand(CREATE_WINDOW);
btnStart.setBounds( 10, 20, 80, 80 );//Position: H, V Dimension: H, V
btnStart.addChangeListener( this );
btnStart.setToolTipText("Neuer Frame");
btnStart.setBorder( BorderFactory.createEtchedBorder( 1 ));
btnStart.addActionListener(this);
label.setBounds( 10, 10, 80, 80 );//Position: H, V Dimension: H, V
}
public void init()
{
add(label);
add(btnStart);
}
/*Handhabt action events von allen buttons*/
public void actionPerformed1(ActionEvent e)
{
String command = e.getActionCommand();
//handhabt den button im neuen Fenster
if (CREATE_WINDOW.equals(command))
{
showNewWindow();
}
}
/*erschafft das neue Fenster*/
public void showNewWindow()
{
JFrame frame = new MyFrame();
frame.setUndecorated(true);
frame.setSize(new Dimension(1280, 1024));
frame.setVisible(true);
}
class MyFrame extends JFrame implements ActionListener
{
/**
*
*/
private static final long serialVersionUID = -4153118764669033166L;
public MyFrame()
{
super("A window");
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
JButton button = new JButton("zurück");
button.addActionListener(this);
Container contentPane = getContentPane();
contentPane.setLayout(new BoxLayout(contentPane,BoxLayout.PAGE_AXIS));
contentPane.add(Box.createVerticalGlue()); //takes all extra space
contentPane.add(button);
button.setAlignmentX(Component.CENTER_ALIGNMENT); //horizontally centered
contentPane.add(Box.createVerticalStrut(5)); //spacer
}
public void actionPerformed(ActionEvent e)
{
setVisible(true);// false
dispose();
}
}
public void start()
{
Th=new Thread(this);
Th.start();
}
public void stop () {} // stoppe Ausführung
public void destroy() {} // initialisierte Ressourcen freigeben
public void stateChanged(ChangeEvent arg0) {}
public void actionPerformed(ActionEvent e) {}
public void run()
{
setLocation(700,950);
}
}