Hi @ all
Oiso...
ich versuche über einen ActioListener, eine Methode in einer anderen Klasse aufzurufen, was ja auch funktioniert.
Nun sollte die aufgerufene Methode ein Icon nach einer if-else ausgeben, was leider nicht funktioniert.
Hier der Codeausschnitt der aufrufenden Klasse SelDrehen2.java:
Und der Codeausschnitt der aufgerufenen Klasse MlbMlhLwDlh.java:
Die GUI ist'n CardLayout mit einem Grouplayout.
Die zugehörigen JLabels werden in weiteren Methoden der Klasse MlbMlhLwDlh.java erzeugt und im Konstruktor aufgerufen.
Alle dieser JLabels werden auf dieser Card immer benötigt, nur die Icons ändern sich.
Zur Vervollständigung die Methode mlb (mlh, lw und dlh werden natürlich auch so erzeugt) in der Klasse MlbMlhLwDlh:
Tja...ich hoffe, dass ich alle notwendigen Infos dargetan habe.
Da ich das Ganze offenbar nicht mal nicht begreife, bitte ich Euch um eure Hilfe...vielen Dank im Voraus
quidnovi
Oiso...
ich versuche über einen ActioListener, eine Methode in einer anderen Klasse aufzurufen, was ja auch funktioniert.
Nun sollte die aufgerufene Methode ein Icon nach einer if-else ausgeben, was leider nicht funktioniert.
Hier der Codeausschnitt der aufrufenden Klasse SelDrehen2.java:
Java:
btn13_r = new DesignButtonOTarget("Typ 13 rechts", 14, "Typ 13 rechts w\u00E4hlen");
btn13_r.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(e.getSource() == btn13_r){
anlNr = "13_r";
datensatzAendern("13_r");
MlbMlhLwDlh m = new MlbMlhLwDlh(null);
m.showAnlNr();
parent.showCard("MlbMlhLwDlh");
}
}
});
Und der Codeausschnitt der aufgerufenen Klasse MlbMlhLwDlh.java:
Java:
// Die Methode, welche in SelDrehen2.java aufgerufen wird
public void showAnlNr() {
try {
DBConnect.connect();
Statement stmt = DBData.connection.createStatement();
String sqlMaxId = "SELECT ANLTYP FROM KOMMART WHERE KOMMID = " + KommAdd.maxId;
ResultSet rs = stmt.executeQuery(sqlMaxId);
while (rs.next()) {
imgNr = (rs.getString("ANLTYP"));
// Das wird auf der Konsole ausgegeben
System.out.println("showAnlNr initialisiert");
if (imgNr.equals("10_l") ||
imgNr.equals("11_rd")||
imgNr.equals("12_l") ||
imgNr.equals("13_r") ||
imgNr.equals("19_d") ||
imgNr.equals("21_d")) {
// Das wird auf der Konsole ausgegeben
System.out.println("die if in showAnlNr liefert: " + imgNr);
// Die auszugebenden Bilder erscheinen nicht
lblMlbImage.setIcon(new ImageIcon(MlbMlhLwDlh.class.getResource("/at/img/masseingabe/1ol_1stRe_mlb.jpg")));
lblMlhImage.setIcon(new ImageIcon(MlbMlhLwDlh.class.getResource("/at/img/masseingabe/1ol_1stRe_mlh.jpg")));
lblLwImage.setIcon(new ImageIcon(MlbMlhLwDlh.class.getResource("/at/img/masseingabe/1ol_1stRe_lw.jpg")));
lblDlhImage.setIcon(new ImageIcon(MlbMlhLwDlh.class.getResource("/at/img/masseingabe/1ol_1stRe_dlh.jpg")));
}
else if (imgNr.equals("14_bb_l") ||
imgNr.equals("14_bb_r")||
imgNr.equals("15_bb_l") ||
imgNr.equals("15_bb_r") ||
imgNr.equals("16_bb_l") ||
imgNr.equals("17_bb_r")) {
// Das wird auf der Konsole ausgegeben
System.out.println("die else in showAnlNr liefert: " + imgNr);
// Die auszugebenden Bilder erscheinen nicht
lblMlbImage.setIcon(new ImageIcon(MlbMlhLwDlh.class.getResource("/at/img/masseingabe/1ol_2st_bb_mlb.jpg")));
lblMlhImage.setIcon(new ImageIcon(MlbMlhLwDlh.class.getResource("/at//img/masseingabe/1ol_2st_bb_mlh.jpg")));
lblLwImage.setIcon(new ImageIcon(MlbMlhLwDlh.class.getResource("/at//img/masseingabe/1ol_2st_bb_lw.jpg")));
lblDlhImage.setIcon(new ImageIcon(MlbMlhLwDlh.class.getResource("/at/img/masseingabe/1ol_2st_bb_dlh.jpg")));
}
}
Die GUI ist'n CardLayout mit einem Grouplayout.
Die zugehörigen JLabels werden in weiteren Methoden der Klasse MlbMlhLwDlh.java erzeugt und im Konstruktor aufgerufen.
Alle dieser JLabels werden auf dieser Card immer benötigt, nur die Icons ändern sich.
Zur Vervollständigung die Methode mlb (mlh, lw und dlh werden natürlich auch so erzeugt) in der Klasse MlbMlhLwDlh:
Java:
private void mlb(){
pnlMlb = new JPanel();
pnlMlb.setToolTipText("");
pnlMlb.setOpaque(false);
pnlMlb.setBorder(new LineBorder(new Color(63, 163, 221)));
lblMlb = new JLabel("Mauerlichte Breite:");
lblMlb.setForeground(Color.WHITE);
lblMlb.setFont(new Font("Century Gothic", Font.PLAIN, 13));
txtMlb = new JTextField();
txtMlb.setOpaque(false);
txtMlb.setForeground(Color.WHITE);
txtMlb.setFont(new Font("Century Gothic", Font.BOLD, 13));
txtMlb.setCaretColor(Color.WHITE);
txtMlb.setBorder(new MatteBorder(0, 0, 1, 0, (Color) new Color(63,163,221)));
txtMlb.setColumns(5);
lblMlbImage = new JLabel("");
lblMlbImage.setHorizontalAlignment(SwingConstants.CENTER);
}
Tja...ich hoffe, dass ich alle notwendigen Infos dargetan habe.
Da ich das Ganze offenbar nicht mal nicht begreife, bitte ich Euch um eure Hilfe...vielen Dank im Voraus
quidnovi