listbox (Standard)Auswahl festlegen

biboj

Grünschnabel
Hallo,
ich hab folgendes Problem!
Ich hab ein Fenster in dem 2 listen angezeigt werden.
Eine für die Schriftart und eine für die Schriftgröße!
Wenn ich das Programm starte ist nichts vorher ausgewählt in der liste.
Und wenn ich dann einen Doppelklick auf die gewünschte Schriftart mache gibt er mir folgende Fehlermeldung aus! Aber das Programm läuft weiter.

java.lang.NullPointerException
at Schrift.actionPerformed(Schrift.java:131)
at java.awt.List.processActionEvent(Unknown Source)
at java.awt.List.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

wenn ich jetzt vorher einmal auf die gewünschte Schriftart und auf die gewünschte Schriftgröße einen einfachen klick mache und dann etwas mit dem doppelklick auswähle bekomm ich keine Fehlermeldung!
Ich denke das es daran liegt wenn ich vorher keine Standard Auswahl festlege.

So jetzt zu meiner Frage:
Wie kann ich die Auswahl in der listbox vorher festlegen?

Gruß Joris
 
wenn du eine jList meinst die du eingebunden hast,
dann kannst du das mit
setSelectedIndex(int index) eine Zeile selektieren

schau sonst in die API
Gruss
 
Hallo!

Schau mal hier:
Code:
/*
 * Created on 18.10.2004
 */
package de.tutorials;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Font;
import java.awt.GraphicsEnvironment;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JScrollPane;

/**
 * @author Darimont
 *  
 */
public class Test19 extends JFrame {

    private static final long serialVersionUID = -2010874896941171188L;
    private JList lstFonts, lstSizes;
    private JScrollPane scrollPane;

    private JLabel lblTest;

    public Test19() {
        super("Test19");
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        String[] fonts = GraphicsEnvironment.getLocalGraphicsEnvironment()
                .getAvailableFontFamilyNames();
        Integer[] sizes = new Integer[] { new Integer(8), new Integer(9),
                new Integer(10), new Integer(12), new Integer(14),
                new Integer(16) };
        MouseAdapter adapter = new MouseHandler();
        lstFonts = new JList(fonts);
        lstFonts.addMouseListener(adapter);
        lstFonts.setSelectionInterval(0, 0);
        scrollPane = new JScrollPane(lstFonts);
        lstSizes = new JList(sizes);
        lstSizes.addMouseListener(adapter);
        lstSizes.setSelectionInterval(0, 0);
        lblTest = new JLabel("Test ABC 123");
                
        Container c = getContentPane();
        c.add(scrollPane, BorderLayout.CENTER);
        c.add(lstSizes, BorderLayout.EAST);
        c.add(lblTest, BorderLayout.SOUTH);

        pack();
        setVisible(true);
    }

    public static void main(String[] args) {
        new Test19();
    }

    class MouseHandler extends MouseAdapter {
        public void mousePressed(MouseEvent evt) {
            String font = (String) lstFonts.getSelectedValue();
            Integer size = (Integer) lstSizes.getSelectedValue();

            lblTest.setFont(new Font(font, Font.PLAIN, size.intValue()));
            pack();
        }
    }
}

Gruß Tom
 
Cool danke,


geiler code!

Für was ist das : setSelectionInterval(0, 0);

gruß JB
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück