Hi
Ich habe für jeden Button in der Main Klasse eine eigene ActionListener Klasse (eg. class button1Listener) erstellt. Wird einer dieser Button gedrückt soll der Content des Frames ausgetauscht werden.
Ok, mit remove den Content des Frame's löschen funktioniert schon mal. Jetzt wollte ich mit add den neuen content einfügen.
Ich verstehe allerdings nicht was in add(???) rein muss, bei Verwendung des unteren Beispiels. Der Code des Beispiels soll ausgelagert bleiben u. nicht in die class button1Listener wg. Übersicht. Da komm ich echt nich weiter
Hier der Code
import java.awt.event.*;
import javax.swing.JFrame;
import javax.swing.*;button1Listener
public class button1Listener implements ActionListener
{
private JPanel oldContent, oldPanel;
public analysisListener(JPanel c, JPanel p)
{
newFrame = f;
oldFrame = old;
oldContent = c;
oldPanel = p; //nur für event. change des Panels
}
public void actionPerformed (ActionEvent e)
{
oldContent.removeAll();
oldContent.add( ??? );
}
}
Beispiel-Application:
import javax.swing.JFrame;
public class ListTest
{
public static void main( String args[] )
{
ListFrame listFrame = new ListFrame(); // create ListFrame
listFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
listFrame.setSize( 350, 150 ); // set frame size
listFrame.setVisible( true ); // display frame
} // end main
}
import java.awt.FlowLayout;
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.event.ListSelectionListener;
import javax.swing.event.ListSelectionEvent;
import javax.swing.ListSelectionModel;
public class ListFrame extends JFrame
{
private JList colorJList; // list to display colors
private final String colorNames[] = { "Black", "Blue", "Cyan",
"Dark Gray", "Gray", "Green", "Light Gray", "Magenta",
"Orange", "Pink", "Red", "White", "Yellow" };
private final Color colors[] = { Color.BLACK, Color.BLUE, Color.CYAN,
Color.DARK_GRAY, Color.GRAY, Color.GREEN, Color.LIGHT_GRAY,
Color.MAGENTA, Color.ORANGE, Color.PINK, Color.RED, Color.WHITE,
Color.YELLOW };
// ListFrame constructor add JScrollPane containing JList to JFrame
public ListFrame()
{
super( "List Test" );
getContentPane().setLayout( new FlowLayout() ); // set frame layout
colorJList = new JList( colorNames ); // create with colorNames
colorJList.setVisibleRowCount( 5 ); // display five rows at once
// do not allow multiple selections
colorJList.setSelectionMode( ListSelectionModel.SINGLE_SELECTION );
// add a JScrollPane containing JList to frame
getContentPane().add( new JScrollPane( colorJList ) );
colorJList.addListSelectionListener(
new ListSelectionListener() // anonymous inner class
{
// handle list selection events
public void valueChanged( ListSelectionEvent event )
{
getContentPane().setBackground(
colors[ colorJList.getSelectedIndex() ] );
} // end method valueChanged
} // end anonymous inner class
); // end call to addListSelectionListener
} // end ListFrame constructor
}
Danke schon mal.