Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich habe 2 Klassen ( einmal ein GUI wo etwas in ein textfeld eingegeben wird und die fachklasse mit den ganzen methoden, unter anderem zum speichern des textes aus dem GUI ) von den in einer 3. Klasse ( mit main-methode) 2 Objekte gemacht werden.
Also wenn man den button drückt soll über die actionperformed methode die methode Notes.save() aufgerufen werden. und das was in der textarea eingegeben wurde soll somit in der arraylist gespeichert werden.
Wie kann ich klar machen dass genau das Objekt in der main-methode gemeint ist??? ich bekommen immer folgendes Problem :
non-static variable jTextArea1 cannot be referenced from a static context
non-static method speichern() cannot be referenced from a static context
"main-klasse":
Code:
public class MeinProgramm {
public static void main(String[] args) {
Notes notes=new Liste();
NotesGUI notesGUI = new NotesGUI();
NotesGUI.setVisible(true);
}
}
GUI:
Code:
public class NotesGUI extends javax.swing.JFrame {
//noch mehr code zum erstellen der gui z.b. TextArea und Botton.... aber für mein problem nicht
relevant
private void jButtonSpeichernActionPerformed(java.awt.event.ActionEvent evt) {
Notes.save();
}
}
Fachklasse:
Code:
import java.util.ArrayList;
public class Notes {
ArrayList<String> liste = new ArrayList <String>(); //Liste mit den Notizen
public void save(){
liste.add(ListeGUI.jTextArea1.getText()); //speichert den text aus textarea1 in der arraylist "liste"
}
//weitere methoden des Notizbuchs
}
public class Test
{
public static void main(String[] args)
throws Exception
{
B b = new B();
A a = new A();
a.doSomemeting();
}
}
class A
{
public void doSomemeting()
{
// b.getY()??
}
}
class B
{
private int y = 3;
public int getY()
{
return y;
}
}
und ein Problem,
so gehts (eine Möglichkeit):
Code:
public class Test
{
public static void main(String[] args)
throws Exception
{
B b = new B();
A a = new A();
a.setB(b);
a.doSomemeting();
}
}
class A
{
private B b;
public void setB(B b)
{
this.b = b;
}
public void doSomemeting()
{
b.getY();
}
}
class B
{
private int y = 3;
public int getY()
{
return y;
}
}
---------
> gegenfrage: weißt du was "static" bedeutet?
jo, ist klar:
> Wie kann ich klar machen dass genau das Objekt in der main-methode gemeint ist???