Hi,
also ich habe mir mal überlegt, ob man ein Panel bzw. dessen Namen eventuell in eine Variable stecken kann. Ich habe mir das ungefähr so vorgestellt:
Ich erstelle mir meinetwegen drei Panels namens: panel_1, panel_2, panel_3. Nun erstelle ich eine Variable (vom Typ String) namens: panelx. Und nun möchte ich immer den Wert von panelx ändern, je nach Belieben zu panel_1, panel_2 und panel_3. Das möchte ich aber dann aber auch benutzen können, meinetwegen wenn ich was auf den Panels adden möchte.
So könnte das ungefähr aussehen:
Das was ausgeklammert ist, ist der eigentliche Code. Und das darunter ist meine Idee. Hier wird natürlich ein Fehler angezeigt, nämlich dass Strings hierfür nicht verwendet werden können. Aber kann man das so ähnlich irgendwie realisieren, auch wenn es eigentlich unnötig ist? Und wenn ja, wie?
also ich habe mir mal überlegt, ob man ein Panel bzw. dessen Namen eventuell in eine Variable stecken kann. Ich habe mir das ungefähr so vorgestellt:
Ich erstelle mir meinetwegen drei Panels namens: panel_1, panel_2, panel_3. Nun erstelle ich eine Variable (vom Typ String) namens: panelx. Und nun möchte ich immer den Wert von panelx ändern, je nach Belieben zu panel_1, panel_2 und panel_3. Das möchte ich aber dann aber auch benutzen können, meinetwegen wenn ich was auf den Panels adden möchte.
So könnte das ungefähr aussehen:
Java:
import java.awt.*;
import javax.swing.*;
public class gui {
String panelx;
JFrame frame = new JFrame();
JPanel panel_1 = new JPanel();
JPanel panel_2 = new JPanel();
JPanel panel_3 = new JPanel();
JLabel label1 = new JLabel();
JLabel label2 = new JLabel();
JLabel label3 = new JLabel();
public static void main(String[] args){
new gui();
}
public gui(){
Test();
}
public void Test(){
frame.setSize(800, 600);
frame.setResizable(false);
frame.setTitle("Test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
// panel_1.setBounds(0, 62, 800, 175);
// frame.getContentPane().add(panel_1);
panelx = "panel_1";
panelx.setBounds(0, 62, 800, 175);
frame.getContentPane().add(panelx);
// panel_2.setBounds(0, 302, 800, 175);
// frame.getContentPane().add(panel_2);
panelx = "panel_2";
panelx.setBounds(0, 302, 800, 175);
frame.getContentPane().add(panelx);
// panel_3.setBounds(0, 520, 800, 33);
// frame.getContentPane().add(panel_3);
panelx = "panel_3";
panelx.setBounds(0, 520, 800, 33);
frame.getContentPane().add(panelx);
frame.setVisible(true);
}
}
Das was ausgeklammert ist, ist der eigentliche Code. Und das darunter ist meine Idee. Hier wird natürlich ein Fehler angezeigt, nämlich dass Strings hierfür nicht verwendet werden können. Aber kann man das so ähnlich irgendwie realisieren, auch wenn es eigentlich unnötig ist? Und wenn ja, wie?