php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > ASP, PERL, CGI, C und alles andere
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


ASP, PERL, CGI, C und alles andere Wolle ma net so sein. Obwohl Perl, ASP, C und TCL zu den minderwertigen Internet-Skriptsprachen zählen, dürfen ab sofort hierzu auch Fragen gestellt werden. ;)

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 03-05-2007, 22:00
sagg
 PHP Junior
Links : Onlinestatus : sagg ist offline
Registriert seit: May 2004
Ort: Offenburg
Beiträge: 581
sagg ist zur Zeit noch ein unbeschriebenes Blatt
sagg eine Nachricht über ICQ schicken
Standard JList will nicht ins JPanel :(

Abend zusammen,

ich versuche mich gerade ein wenig an Java und muss sagen, dass ich die "Logik", die hinter dem Aufbau der ganzen Funktionen stecken muss, noch nicht so ganz verstanden habe.

Was wohl nicht zuletzt datan liegen kann, dass ich keine wirklich sinnvolle Webseite oder ein gutes Forum, wo man ein bischen stöbern könnte, finde.
Also falls jemand ein paar gute Seiten kennt, immer her damit.

Nun aber zu meinem Problem:

Ich habe ein einfaches JPanel und möchte darin Informationen zu 5 verschiedenen "Produkten" anzeigen.
Diese werden wiederrum in der JList aufgelistet und je nach dem, welches man anklickt, werden dann die entsprechenden Info's in 2 weiteren JLabel's angezeigt.

Soweit die Theorie, in der Praxis stellt er mir zwar die 2 JLabel's dar, die JList fehlt aber komplett, eine Fehlermeldung kommt auch nich.
Kann mir jemand einen Tipp geben, was wo falsch sein könnte?

Code:
import java.awt.*;
import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

class windowTab extends JPanel {
	public windowTab () {
		setPreferredSize(new Dimension(400,200));
	        JTabbedPane pane=new JTabbedPane();
        	pane.add("Rot",new systemsOverview( ) );
		setLayout(new BorderLayout());
		add("Center",pane);
	}
}

public class window extends JFrame {
	public window () {
		super("window");
        	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        	getContentPane().add("Center",new windowTab() );
        	pack();
	}
    
	public static void main (String args[]) {
		JFrame F=new window();
		F.setVisible(true);
	}
}

final class systemsOverview extends JLabel {
	JLabel label;
	JList list;
    
	public static String[] names = {
    		"System 1",
    		"System 2",
    		"System 3",
    		"System 4",
    		"System 5"
	};
    
	public static String[] descs = {
    		"Beschreibung 1",
    		"Beschreibung 2",
    		"Beschreibung 3",
    		"Beschreibung 4",
    		"Beschreibung 5"
	};
    
    public systemsOverview () {
    	WindowUtilities.setNativeLookAndFeel( );
        
        /* name ausgeben */
        JLabel systemNameLabel = new JLabel( "Bitte wählen Sie ein System.", JLabel.LEFT );
        systemNameLabel.setBorder( BorderFactory.createTitledBorder("Name") );
        systemNameLabel.setSize( 300, 60 );
	add(systemNameLabel, BorderLayout.PAGE_START);

	/* beschreibung ausgeben */
	JLabel systemDescLabel = new JLabel( "Sie haben noch kein System ausgewählt!", JLabel.LEFT );
	systemDescLabel.setBorder( BorderFactory.createTitledBorder("Beschreibung") );
	systemDescLabel.setSize( 300, 140 );
	systemDescLabel.setVerticalAlignment( 0 );
	add( systemDescLabel, BorderLayout.CENTER );

	/* auswahlfeld ausgeben */
        JLabel systemListLabel = new JLabel( "", JLabel.LEFT );
        systemListLabel.setSize( 200, 130 );
	JList systemList = new JList( names );
	systemList.setFixedCellWidth( 200 );
        systemList.addListSelectionListener( new selectionListener( systemNameLabel, systemDescLabel, systemList ) );
	systemListLabel.add( new JScrollPane( systemList ) );
        add( systemListLabel, BorderLayout.CENTER );
    }
    
    public static void main ( String args[] ) {
    	new systemsOverview( );
    }

}

final class selectionListener implements ListSelectionListener {
	private final JLabel labelName, labelDesc;
	private final JList list;
	
	public selectionListener( final JLabel systemNameLabel, final JLabel systemDescLabel, final JList systemList ) {
		super();
		this.labelName = systemNameLabel;
		this.labelDesc = systemDescLabel;
		this.list = systemList;
	}
	
	public void valueChanged (ListSelectionEvent e) {
		labelName.setText( " "+list.getSelectedValue() );
		labelDesc.setText( " "+systemsOverview.descs[list.getSelectedIndex()] );
	}
}
Btw.: Das "Schön machen" kommt später, wenn ich den Kram richtig verstanden habe.

Schonmal im Vorraus vielen Dank für die Mühe, sich den Krams durchzulesen.
__________________
mfg - sagg
Mit Zitat antworten
  #2 (permalink)  
Alt 03-05-2007, 22:10
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

http://java.sun.com/docs/books/tutor...ents/list.html
Mit Zitat antworten
  #3 (permalink)  
Alt 03-05-2007, 22:44
sagg
 PHP Junior
Links : Onlinestatus : sagg ist offline
Registriert seit: May 2004
Ort: Offenburg
Beiträge: 581
sagg ist zur Zeit noch ein unbeschriebenes Blatt
sagg eine Nachricht über ICQ schicken
Standard Re: JList will nicht ins JPanel :(

Zitat:
Original geschrieben von sagg
Also falls jemand ein paar gute Seiten kennt, immer her damit.
Ich nehme mal an, du beziehst dich auf diesen Punkt.
Wenn ich da richtig liege: Danke dafür.

Was aber gleichzeitig heissen will: Eine Lösung für mein Problem finde ich da auch nicht wirklich.
__________________
mfg - sagg
Mit Zitat antworten
  #4 (permalink)  
Alt 03-05-2007, 23:29
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

klar, dass es kein Fehler anzeigt, denn es gibt kein. Ein JList kann sich selbst nicht anzeigen, es ist ein Data Container, packt es in einem JScrollPane dann wirst du sehen
Mit Zitat antworten
  #5 (permalink)  
Alt 03-05-2007, 23:45
sagg
 PHP Junior
Links : Onlinestatus : sagg ist offline
Registriert seit: May 2004
Ort: Offenburg
Beiträge: 581
sagg ist zur Zeit noch ein unbeschriebenes Blatt
sagg eine Nachricht über ICQ schicken
Standard

Hm, aber das wird doch an dieser Stelle eigentlich getan:
Code:
systemListLabel.add( new JScrollPane( systemList ) );
Oder? (Im Block "auswahlfeld ausgeben", 6. Zeile)

Was mich eben daran wundert, ist, dass es in einem JFrame ohne diesem Tabbing funktioniert hat.

*edit*

Also ich habe jetzt nochmal alles, was nichts mit der JList zu tun hat, raus geschmissen. Die Funktion "systemsOverview" sieht jetzt nur noch so aus:

Code:
public systemsOverview () {
        JLabel systemListLabel = new JLabel( "moep", JLabel.RIGHT );
        systemListLabel.setSize( 200, 130 );
		JList systemList = new JList( names );
		systemListLabel.add( new JScrollPane( systemList ) );
		add( systemListLabel, BorderLayout.CENTER );
    }
Das einzigste, was angezeigt wird, ist "moep", sonst nichts...
__________________
mfg - sagg

Geändert von sagg (03-05-2007 um 23:55 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

10.12.2018 Berni | Kategorie: MYSQL/ Management
piwik Open-Source Webanalyse-Software ansehen piwik Open-Source Webanalyse-Software

piwik ist eine gute Alternative zu Google Analytics. Viele Features und ein modernes Erscheinungsbild mit aussagefähigen Statistiken in Echtzeit

10.12.2018 phpler | Kategorie: PHP/ Besucherzaehler
jQuery Mobile ansehen jQuery Mobile

Touch-Optimized Web Framework für Smartphones & Tablets

09.12.2018 phpler | Kategorie: AJAX/ Framework
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:32 Uhr.