SWINGX richtig nutzen

ThorstieB

Mitglied
Hallo Forum,
auf der SUche nach einer geeigneten Überschrift habe ich den JXHeader gefunden, leider funktioniert dieser bei mir nicht und ich kann mir nicht erklären warum.

HIer einmal der TextCode:
Java:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.border.TitledBorder;

import org.jdesktop.swingx.JXHeader;


public class header extends JFrame {

	private JPanel contentPane;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					header frame = new header();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public header() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 300);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		contentPane.setLayout(new BorderLayout(0, 0));
		setContentPane(contentPane);
		
		JPanel panel = new JPanel();
		panel.setBorder(new TitledBorder("Titel"));
		add(panel);
		
		JXHeader header2 = new JXHeader();
		 
		header2.setTitleForeground(Color.BLUE);
		header2.setTitle("Programmeinstellungen vornehmen");
		 
		header2.setDescription("Nehmen Sie hier Ihre Programmeinstellungen und " + 
		   "Netzwerkoptionen vor.");
		 
		//Icon icon = new ImageIcon(getClass().getResource("settings.png"));
		//header.setIcon(icon);
		//header.setIconPosition(JXHeader.IconPosition.LEFT);
		
	}

}

hier die *jar die ich dem Buildpath hinzugefügt habe:
http://swinglabs.java.sun.com/hudson/job/SwingX%20Continuous%20Build/lastStableBuild/org.swinglabs$swingx-all/

dennoch bekomme ich diesen Fehler:
java.lang.NullPointerException
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at org.jdesktop.swingx.plaf.LookAndFeelAddons.getUI(LookAndFeelAddons.java:303)
at org.jdesktop.swingx.JXHeader.updateUI(JXHeader.java:181)
at javax.swing.JPanel.<init>(JPanel.java:69)
at javax.swing.JPanel.<init>(JPanel.java:92)
at javax.swing.JPanel.<init>(JPanel.java:100)
at org.jdesktop.swingx.JXPanel.<init>(JXPanel.java:126)
at org.jdesktop.swingx.JXHeader.<init>(JXHeader.java:113)
at header.<init>(header.java:48)
at header$1.run(header.java:24)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)


aber warum?
vielen Dank für die Hilfe!!!
 
Du hast vergessen dem Panel den Header hinzuzufügen
Java:
        header2.setDescription("Nehmen Sie hier Ihre Programmeinstellungen und " + 
           "Netzwerkoptionen vor.");
        panel.add(header2); // missing
 
leider ändert sich dann nur der Fehler:

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/jdesktop/swingx/plaf/ComponentAddon
at header.<init>(header.java:62)
at header$1.run(header.java:37)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.ClassNotFoundException: org.jdesktop.swingx.plaf.ComponentAddon
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 10 more
 
Läuft bei mir.

PS: Klassennamen sollten mit einem GROSS-Buchstaben beginnen
 

Anhänge

  • header.PNG
    header.PNG
    10,4 KB · Aufrufe: 44
Zuletzt bearbeitet:
also bei mir will das einfach nicht*G*-so wie auf deinem Bild ist es optimal
kann das auch an meiner Java-version 1.6.0_18 oder an meiner Eclipseversion(Helios) liegen?
 
kann ich nicht glauben, obwohl ich Eclipse-Indigo nutze.

Ich habe swingx-core-1.6.2.jar im Build-Path. Ich probier es mal gerade unter Helios...

Geht auch unter Helios.
 
Zuletzt bearbeitet:
dann liegt es eher an der swing-Version ich habe 1.6.3, werde jetzt mal die 1.6.2 suchen. mfg thorsten

und vielen Dank für deine Hilfe. Ich kann leider wirklich nur auf die development-Versionen zugreifen und da ist die letzte stable-Version leider die 1.6.3


Ha, mit 1.6.2 funktioniert es wunderbar vielen Dank dir!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
Zuletzt bearbeitet:
1.6.3? Warst wohl zurück in der Zukunft 🙂 Letzter release ist 1.6.2, nächster schon seit längerem "fast fertig", leider haben wir Probleme mit der Infrastruktur.

Gruß
Jeanette
 

Zurück
Oben