Y
Yourtime
Gast
Hallo ich habe ein problem ich muss in der schule ein programm schreiben und zwar ein Vokabeltrainer
und wir haben in letzter zeit gelernt dynamische Datenstrukturen
mein problem ist
ich habe ein klasse das öffnet ein frame und das einen panel ... ich möchte das mein panel auf den frame zu greifen kann
mir sind nicht viele möglichkeiten eingefallen...
so habe ich eine neue klasse (frame close) gemacht . diese klasse wird geöffnet vom JFRAME und das jframe gibt in die klasse (frame close ) das selbe frame. später öffnet das Panel --> frame close (NEW FRAME CLOSE) und startet die methode closeframe() und soll halt den FRAME schliessen den ich eingelesen haben
mein problem ist das ich nur den befehl kenne für einen new frame close und somit die eingelesen frame =null ist und somit kommt ein fehler
ich will aber beim panel --> das gleiche öffnen wie bei jframe
ich habe hier auch die codes:
Testklasse:
-------
-------
--------
----
Ich hoffe ihr könnt mir helfen =/
und wir haben in letzter zeit gelernt dynamische Datenstrukturen
mein problem ist
ich habe ein klasse das öffnet ein frame und das einen panel ... ich möchte das mein panel auf den frame zu greifen kann
mir sind nicht viele möglichkeiten eingefallen...
so habe ich eine neue klasse (frame close) gemacht . diese klasse wird geöffnet vom JFRAME und das jframe gibt in die klasse (frame close ) das selbe frame. später öffnet das Panel --> frame close (NEW FRAME CLOSE) und startet die methode closeframe() und soll halt den FRAME schliessen den ich eingelesen haben
mein problem ist das ich nur den befehl kenne für einen new frame close und somit die eingelesen frame =null ist und somit kommt ein fehler
ich will aber beim panel --> das gleiche öffnen wie bei jframe
ich habe hier auch die codes:
Testklasse:
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class TestVokabelFrame
{
public static void main(String[]args)
{
VokabelFrame frame= new VokabelFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}
-------
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class VokabelFrame extends JFrame
{
public VokabelFrame()
{
setTitle("Vok Trainer Version 1.0");
setSize(200,150);
setLocation(200,200);
setVisible(true);
VokabelPanel a= new VokabelPanel();
getContentPane().add(a);
}
}
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class VokabelPanel extends JPanel
{
public JButton eingeben;
public JButton bearbeiten;
public JButton auflisten;
public JButton training;
public JPanel eingebenPanel;
public JFrame vokabelFrame2;
public buttonFrame b= new buttonFrame();
public int[]var =new int[4];
public VokabelPanel()
{
setLayout(new GridLayout(4,0));
eingeben = new JButton("Daten Eingeben");
bearbeiten = new JButton("Daten Bearbeiten");
auflisten = new JButton("Daten auflisten");
training = new JButton("Vok Training");
add(eingeben);
add(bearbeiten);
add(auflisten);
add(training);
Handling x= new Handling();
eingeben.addActionListener(x);
training.addActionListener(x);
auflisten.addActionListener(x);
bearbeiten.addActionListener(x);
}
public class Handling implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==eingeben && var[0]!=1)
{
buttonFrame a = new buttonFrame();
a.eingebenFrame();
}
if(e.getSource()==bearbeiten && var[1]!=1)
{
buttonFrame b = new buttonFrame();
b.bearbeitenFrame();
}
if(e.getSource()==auflisten && var[2]!=1)
{
buttonFrame c = new buttonFrame();
c.auflistenFrame();
}
if(e.getSource()==training && var[3]!=1)
{
buttonFrame d = new buttonFrame();
d.trainFrame();
}
}
}
}
-------
Code:
public class buttonFrame extends JFrame
{
public buttonFrame()
{
setTitle("Vok Trainer Version 1.0");
}
public void eingebenFrame()
{
setSize(515,53);
setLocation(400,200);
eingebenPanel a= new eingebenPanel();
getContentPane().add(a);
setVisible(true);
frameClose z = new frameClose(this);
}
--------
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class frameClose extends JFrame
{
public int a;
public JFrame ad;
public frameClose(JFrame af)
{
ad = af;
}
public frameClose()
{}
public void closeFrame()
{
ad.setVisible(false);
}
}
----
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class eingebenPanel extends JPanel
{
public boolean klick;
public JButton ok = new JButton("Ok");;
public JTextField oben=new JTextField();
public JTextField unten=new JTextField();
public JLabel linkstext=new JLabel("Name");
public JLabel rechtstext=new JLabel("Übersetzung");
public eingebenPanel()
{
setLayout(null);
linkstext.setBounds(0,0,50,25);
oben.setBounds(50,0,150,25);
rechtstext.setBounds(205,0,75,25);
unten.setBounds(285,0,150,25);
ok.setBounds(440,0,50,25);
add(oben);
add(ok);
add(unten);
add(oben);
add(linkstext);
add(rechtstext);
Handling handle = new Handling();
ok.addActionListener(handle);
}
public class Handling implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==ok)
{
frameClose a = new frameClose();
a.closeFrame();
}
}
}
}
Ich hoffe ihr könnt mir helfen =/