JList wir nicht in TabbedPane angezeigt!

Status
Nicht offen für weitere Antworten.

anton_23

Mitglied
@all!

Ich brauche Eure Hilfe. Ich habe eine TabbedPan und möchte in dieser eine JList anzeigen lassen. Leider funzt das irgendwie nicht. Bitte um Hilfe(bin kein Java Profi)!!!
Code:
import java.awt.*;
import javax.swing.*;

class SwingFenster extends JFrame
{
	//Variablendeklaration
	private	JTabbedPane tabbedPane;
	private	JPanel panel1;
	private	JPanel panel2;
	private	JPanel panel3;
	private	JPanel panel4;
	private	JPanel panel5;
	private	JPanel panel6;
	private	JPanel panel7;
	private	JPanel panel8;
	
	
	//Konstruktor
	public SwingFenster()
	{
		
		setTitle( "Tabbed Pane Application" );
		setSize( 300, 200 );
		

		JPanel topPanel = new JPanel();
		topPanel.setLayout( new BorderLayout() );
		getContentPane().add( topPanel );

		// Create the tab pages
		createPage1();
		createPage2();
		createPage3();
		createPage4();
		createPage5();
		createPage6();
		createPage7();
		createPage8();

		// Create a tabbed pane
		tabbedPane = new JTabbedPane();
		tabbedPane.addTab( "ABC", panel1 );
		tabbedPane.addTab( "DEF", panel2 );
		tabbedPane.addTab( "GHI", panel3 );
		tabbedPane.addTab( "JKL", panel4 );
		tabbedPane.addTab( "MNO", panel5 );
		tabbedPane.addTab( "PQR", panel6 );
		tabbedPane.addTab( "STU", panel7 );
		tabbedPane.addTab( "VWXYZ", panel8 );
		topPanel.add( tabbedPane, BorderLayout.CENTER );
		}

		public void createPage1()
		{
			panel1 = new JPanel();
			panel1.setLayout( new GridBagLayout() );
		}

		public void createPage2()
		{
			panel2 = new JPanel();
			panel2.setLayout( new GridBagLayout() );
		}
	
		public void createPage3()
		{
			panel3 = new JPanel();
			panel3.setLayout( new GridLayout() );
		}
	
		public void createPage4()
		{
			panel4 = new JPanel();
			panel4.setLayout( new GridLayout() );
		}
	
		public void createPage5()
		{
			panel5 = new JPanel();
			panel5.setLayout( new GridLayout() );
		}
    
   		public void createPage6()
		{
			panel6 = new JPanel();
			panel6.setLayout( new GridLayout() );
		}
	
		public void createPage7()
		{
			panel7 = new JPanel();
			panel7.setLayout( new GridLayout() );
		}
	
		public void createPage8()
		{
			panel8 = new JPanel();
			panel8.setLayout( new GridLayout() );
	}
	
///////////////////////////////////////////////////Problemabschnitt???////////////////////////////////////////////////////////////
	class JScrollPaneEx extends JFrame 
	{ 
   		//Liste 
   		private JList list; 

   		// Daten der Liste 
   		private Object[] data = {"Realgröße", "Vollbild", "100%", "75%", 
      	"50%", "25%", "15%", "10%", "5%"}; 
  
   		public JScrollPaneEx() 
   		{ 
      		super ("JScrollPane-Beispiel"); 

      		// Liste erzeugen 
      		list = new JList (data); 
      		// ScrollPane erzeugen und Liste einfügen 
      		JScrollPane scrollPane = new JScrollPane (list); 
	      	// ScrollPane in ContentPane einfügen 
	      	getContentPane().add (scrollPane); 
      		setSize (300, 150); 
   		} 
	
	}
}
 
1) Wofür willst du JScrollPaneEx?

2) Damit die JLists angezeigt werden musst du sie den enstprechenden Panels hinzufügen (add())
 
Brauche den JScrollPaneEx zum Scrollen in der JList, wenn der Inhalt mehr beträgt, wie das was angezeigt werden kann!

Kannst Du mir mal Tip geben, wo ich den add machen muss!

THX

Anton_23
 
Wofür die Extra Klasse die du von JFrame ableitest? Du kannst doch ein JScrollPane mit Liste "drin" dem Panel jeweils hinzufügen.

In den einzelnen create...Methoden kannst du natürlich individuell die Listen hinzufügen, im Anfängerforum steht auch gerade recht aktuell ein Thread zum Thema "JScrollPane" und "JList"...die extra Klasse ist nicht notwendig.
 
Habs jetzt wie folgt realisiert!!!

ISt das in Ordnung so von der Syntax her???

THX

Anton_23
Code:
import java.awt.*;
import javax.swing.*;


class SwingFenster extends JFrame
{
	//Variablendeklaration
	private	JTabbedPane tabbedPane;
	private	JPanel panel1;
	private	JPanel panel2;
	private	JPanel panel3;
	private	JPanel panel4;
	private	JPanel panel5;
	private	JPanel panel6;
	private	JPanel panel7;
	private	JPanel panel8;
	 

   		
	
	//Konstruktor
	public SwingFenster()
	{
		
		setTitle( "Tabbed Pane Application" );
		setSize( 300, 200 );
		

		JPanel topPanel = new JPanel();
		topPanel.setLayout( new BorderLayout() );
		getContentPane().add( topPanel );

		// Create the tab pages
		createPage1();
		createPage2();
		createPage3();
		createPage4();
		createPage5();
		createPage6();
		createPage7();
		createPage8();

		// Create a tabbed pane
		tabbedPane = new JTabbedPane();
		tabbedPane.addTab( "ABC", createPage1() );
		tabbedPane.addTab( "DEF", createPage2() );
		tabbedPane.addTab( "GHI", createPage3() );
		tabbedPane.addTab( "JKL", createPage4() );
		tabbedPane.addTab( "MNO", createPage5() );
		tabbedPane.addTab( "PQR", createPage6() );
		tabbedPane.addTab( "STU", createPage7() );
		tabbedPane.addTab( "VWXYZ", createPage8() );
		topPanel.add( tabbedPane, BorderLayout.CENTER );
		}

		JPanel  createPage1()
		{
			JList liste;
    		JPanel panel;

    		JScrollPane scroll;
    		String[] items;

    		panel = new JPanel();
    		panel.setLayout ( new BorderLayout() );

    		items = new String[10];
    		for (int i=0; i<10; i++) {
      		items[i] = Integer.toHexString(i+1)+" Auswahl";
    		}

    		liste = new JList(items);
       		// Geniere eine Scrollbox, Inhalt Liste
    		scroll = new JScrollPane(liste);
    		panel.add(scroll, BorderLayout.CENTER);
    		return panel;
		}
		
		JPanel  createPage2()
		{
			JList liste;
    		JPanel panel;

    		JScrollPane scroll;
    		String[] items;

    		panel = new JPanel();
    		panel.setLayout ( new BorderLayout() );

    		items = new String[20];
    		for (int i=0; i<20; i++) {
      		items[i] = Integer.toHexString(i+1)+" Auswahl";
    		}

    		liste = new JList(items);
       		// Geniere eine Scrollbox, Inhalt Liste
    		scroll = new JScrollPane(liste);
    		panel.add(scroll, BorderLayout.CENTER);
    		return panel;
		}
		
		JPanel  createPage3()
		{
			JList liste;
    		JPanel panel;

    		JScrollPane scroll;
    		String[] items;

    		panel = new JPanel();
    		panel.setLayout ( new BorderLayout() );

    		items = new String[30];
    		for (int i=0; i<30; i++) {
      		items[i] = Integer.toHexString(i+1)+" Auswahl";
    		}

    		liste = new JList(items);
       		// Geniere eine Scrollbox, Inhalt Liste
    		scroll = new JScrollPane(liste);
    		panel.add(scroll, BorderLayout.CENTER);
    		return panel;
		}
		
		JPanel  createPage4()
		{
			JList liste;
    		JPanel panel;

    		JScrollPane scroll;
    		String[] items;

    		panel = new JPanel();
    		panel.setLayout ( new BorderLayout() );

    		items = new String[40];
    		for (int i=0; i<40; i++) {
      		items[i] = Integer.toHexString(i+1)+" Auswahl";
    		}

    		liste = new JList(items);
       		// Geniere eine Scrollbox, Inhalt Liste
    		scroll = new JScrollPane(liste);
    		panel.add(scroll, BorderLayout.CENTER);
    		return panel;
		}
		
		JPanel  createPage5()
		{
			JList liste;
    		JPanel panel;

    		JScrollPane scroll;
    		String[] items;

    		panel = new JPanel();
    		panel.setLayout ( new BorderLayout() );

    		items = new String[50];
    		for (int i=0; i<50; i++) {
      		items[i] = Integer.toHexString(i+1)+" Auswahl";
    		}

    		liste = new JList(items);
       		// Geniere eine Scrollbox, Inhalt Liste
    		scroll = new JScrollPane(liste);
    		panel.add(scroll, BorderLayout.CENTER);
    		return panel;
		}
		
		JPanel  createPage6()
		{
			JList liste;
    		JPanel panel;

    		JScrollPane scroll;
    		String[] items;

    		panel = new JPanel();
    		panel.setLayout ( new BorderLayout() );

    		items = new String[60];
    		for (int i=0; i<60; i++) {
      		items[i] = Integer.toHexString(i+1)+" Auswahl";
    		}

    		liste = new JList(items);
       		// Geniere eine Scrollbox, Inhalt Liste
    		scroll = new JScrollPane(liste);
    		panel.add(scroll, BorderLayout.CENTER);
    		return panel;
		}
		
		JPanel  createPage7()
		{
			JList liste;
    		JPanel panel;

    		JScrollPane scroll;
    		String[] items;

    		panel = new JPanel();
    		panel.setLayout ( new BorderLayout() );

    		items = new String[70];
    		for (int i=0; i<70; i++) {
      		items[i] = Integer.toHexString(i+1)+" Auswahl";
    		}

    		liste = new JList(items);
       		// Geniere eine Scrollbox, Inhalt Liste
    		scroll = new JScrollPane(liste);
    		panel.add(scroll, BorderLayout.CENTER);
    		return panel;
		}
		
		JPanel  createPage8()
		{
			JList liste;
    		JPanel panel;

    		JScrollPane scroll;
    		String[] items;

    		panel = new JPanel();
    		panel.setLayout ( new BorderLayout() );

    		items = new String[80];
    		for (int i=0; i<80; i++) {
      		items[i] = Integer.toHexString(i+1)+" Auswahl";
    		}

    		liste = new JList(items);
       		// Geniere eine Scrollbox, Inhalt Liste
    		scroll = new JScrollPane(liste);
    		panel.add(scroll, BorderLayout.CENTER);
    		return panel;
		}
}
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben