Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Array Exception

Empfohlene Antworten

Veröffentlicht

Hi,

ich hab folgendes Problem:

Wenn ich diese Klasse ausführe, bekomme ich eine Array Exception.

Das liegt an dem ActionListener in der for-Schleife weiter unten. Aber ich weiss nicht was ich das anders hinbekommen soll.

import java.awt.*;

import java.awt.event.*;

class AdminTool extends Frame {

int wiederholungen = 9;

int groesse = wiederholungen * 25 + 50;

Tools t = new Tools();

Toolkit tk = Toolkit.getDefaultToolkit();

Image bild = tk.getImage("icon.jpg");

Label[] labels = new Label[wiederholungen];

int i;

public AdminTool() {

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

dispose();

System.exit(0);

}

});

}

public void run() {

System.out.println("Starting AdminTool...");

############## Schnipp ###################

TextField[] fields = new TextField[wiederholungen];

String[] pfad = new String[wiederholungen];

Button[] knopf = new Button[wiederholungen];

mainFrame.setLayout(new GridLayout(wiederholungen,4,5,2));

for (i=0; i<wiederholungen; i++){

fields = new TextField();

mainFrame.add(fields);

labels = new Label("Tata und Blindtext und so weiter und so fort");

mainFrame.add(labels);

knopf = new Button("Durchsuchen");

knopf.addActionListener(new ActionListener() {

public void actionPerformed (ActionEvent e){

String s = new String();

s = t.load();

labels.setText(s);

}

});

mainFrame.add(knopf);

}

mainFrame.setVisible(true);

}

}

Wäre nett wenn mir jemand helfen könnte.

Ich bin mir nicht so ganz sicher, ob es wirklich am ActionListener liegt, aber naja, mach es doch einfach so, daß Du dir für den Knopf eine eigene Klasse schreibst. Diese sollte dann einfach die Button-Klasse erweitern.

Also


public class knopf extends Button {

   private Tools t = new Tools();

   public knopf(labels l) {

      addActionListener(new ActionListener() {

         public void actionPerformed(ActionEvent e){

         l.setText(t.load());  

         }

      });

   }

}

So ungefähr. Du übergibst dann einfach das label und kannst dann normalerweise damit arbeit.

Kann jetzt leider nicht 100% sagen ob es so funzt. Wenn der String nicht in das Label geschrieben wird, dann mußt Du dir noch eine methode schreiben, die einen String zurück gibt und diese dann benutzen. Sorry ich konnte das ganze jetzt nicht testen, aber ich mache manchma ähnlies mit JLabeln und da funzt es.

LoCal

Ahaaaa,

Danke, ich werds zuhause einmal ausprobieren, aber so wie es aussieht klappt das.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.