Grüß euch,
ich will einen Frame haben mit einem Button, der einen neuen Frame aufruft.
Allerdings werden auf dem 2ten Frame Objekte gar nicht oder auf der falschen Position angelegt.
Hab im google zwar was über Internal Frames gefunden, aber nicht über mehrere.
Dass beide Frames in einer Klasse sind ist beabsichtigt.
[Java]
package Data;
import javax.swing.*;
import java.awt.*;
public class XXX extends JFrame {
JButton b4 = new JButton("Custom Browser Location(s)")
JFrame CBChange = new JFrame("Custom Browser Location");
JLabel l11 = new JLabel("Custom Browser Location Old:");
JLabel l12 = new JLabel("Custom Browser Location New:");
JTextField tf_cbo = new JTextField();
JTextField tf_cbn = new JTextField();
JButton b5 = new JButton("Save");
JButton b6 = new JButton("Close");
public XXX() {
this.getContentPane().setLayout(null);
CBChange.getContentPane().setLayout(null);
this.initWindow();
protected void initWindow() {
b4.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0){
b4doClicked();
}
});
b4.setBounds(8,260,230,25);
this.getContentPane().add(b4);
this.pack();
Dimension frameSize = new Dimension(600, 740);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
int top = (screenSize.height - frameSize.height) / 2;
int left = (screenSize.width - frameSize.width) / 2;
this.setSize(frameSize);
this.setLocation(left, top);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
this.setTitle("iXY");
//Second Frame
l11.setBounds(8,5,280,30);
l12.setBounds(8,20,280,30);
tf_cbo.setBounds(8,30,430,20);
tf_cbn.setBounds(8,70,430,20);
b5.setBounds(8,320,160,25);
b6.setBounds(8,320,160,25);
CBChange.getContentPane().add(tf_cbo);
CBChange.getContentPane().add(tf_cbn);
CBChange.getContentPane().add(l11);
CBChange.getContentPane().add(l12);
CBChange.getContentPane().add(b5);
CBChange.getContentPane().add(b6);
CBChange.pack();
Dimension frameSizeCBC = new Dimension(500, 200);
Dimension screenSizeCBC = Toolkit.getDefaultToolkit().getScreenSize();
int top1 = (screenSizeCBC.height - frameSizeCBC.height) / 2;
int left1 = (screenSizeCBC.width - frameSizeCBC.width) / 2;
CBChange.setLocation(left1, top1);
CBChange.setSize(frameSizeCBC);
CBChange.setTitle("Custom Browser Location");
public void b4doClicked(){
try{
CBChange.setVisible(true);
}
catch (Exception e) {
System.out.println(e);
}
}
[/code]
Wo ist die unsaubere Stelle??
ich will einen Frame haben mit einem Button, der einen neuen Frame aufruft.
Allerdings werden auf dem 2ten Frame Objekte gar nicht oder auf der falschen Position angelegt.
Hab im google zwar was über Internal Frames gefunden, aber nicht über mehrere.
Dass beide Frames in einer Klasse sind ist beabsichtigt.
[Java]
package Data;
import javax.swing.*;
import java.awt.*;
public class XXX extends JFrame {
JButton b4 = new JButton("Custom Browser Location(s)")
JFrame CBChange = new JFrame("Custom Browser Location");
JLabel l11 = new JLabel("Custom Browser Location Old:");
JLabel l12 = new JLabel("Custom Browser Location New:");
JTextField tf_cbo = new JTextField();
JTextField tf_cbn = new JTextField();
JButton b5 = new JButton("Save");
JButton b6 = new JButton("Close");
public XXX() {
this.getContentPane().setLayout(null);
CBChange.getContentPane().setLayout(null);
this.initWindow();
protected void initWindow() {
b4.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0){
b4doClicked();
}
});
b4.setBounds(8,260,230,25);
this.getContentPane().add(b4);
this.pack();
Dimension frameSize = new Dimension(600, 740);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
int top = (screenSize.height - frameSize.height) / 2;
int left = (screenSize.width - frameSize.width) / 2;
this.setSize(frameSize);
this.setLocation(left, top);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
this.setTitle("iXY");
//Second Frame
l11.setBounds(8,5,280,30);
l12.setBounds(8,20,280,30);
tf_cbo.setBounds(8,30,430,20);
tf_cbn.setBounds(8,70,430,20);
b5.setBounds(8,320,160,25);
b6.setBounds(8,320,160,25);
CBChange.getContentPane().add(tf_cbo);
CBChange.getContentPane().add(tf_cbn);
CBChange.getContentPane().add(l11);
CBChange.getContentPane().add(l12);
CBChange.getContentPane().add(b5);
CBChange.getContentPane().add(b6);
CBChange.pack();
Dimension frameSizeCBC = new Dimension(500, 200);
Dimension screenSizeCBC = Toolkit.getDefaultToolkit().getScreenSize();
int top1 = (screenSizeCBC.height - frameSizeCBC.height) / 2;
int left1 = (screenSizeCBC.width - frameSizeCBC.width) / 2;
CBChange.setLocation(left1, top1);
CBChange.setSize(frameSizeCBC);
CBChange.setTitle("Custom Browser Location");
public void b4doClicked(){
try{
CBChange.setVisible(true);
}
catch (Exception e) {
System.out.println(e);
}
}
[/code]
Wo ist die unsaubere Stelle??
Zuletzt bearbeitet: