Hoi,
wenn mir jemand bei folgendem Problem helfen könnte:
Eigentlich ganz simple^^
Ich hab folgende Componenten:
Aufgabe war, ein textfeld und ne List zu erstellen,
und wenn man was in textfeld eingibt, soll er auf
den eintrag in der List springen(selecten).
Das klappt ja auch jetzt, aber die Teilaufgabe,
einen Scrollbalken einzufügen, mit dem man die Liste scrollen
kann, klappt nur halb.
Erstellt krieg ich ihn auch, aber wenn ich scrolle macht er nichts.
Mein Buch hilft mir nicht weiter(hab schon alles abgeschrieben und getestet)
und alles was ich hier im Forum zu dem Thema gefunden habe hilft mir
nicht weiter.
Wie kann ich meine JList scrollen?
Ich glaub ich poste mal den ganzen code( is net viel ):
Was mache ich falsch?
thx 4 hlp
SLi
wenn mir jemand bei folgendem Problem helfen könnte:
Eigentlich ganz simple^^
Ich hab folgende Componenten:
Code:
JTextField tf;
JList list;
JScrollPane sp;
Scrollbar sb;
String[] input = { blablabla };
Aufgabe war, ein textfeld und ne List zu erstellen,
und wenn man was in textfeld eingibt, soll er auf
den eintrag in der List springen(selecten).
Das klappt ja auch jetzt, aber die Teilaufgabe,
einen Scrollbalken einzufügen, mit dem man die Liste scrollen
kann, klappt nur halb.
Erstellt krieg ich ihn auch, aber wenn ich scrolle macht er nichts.
Mein Buch hilft mir nicht weiter(hab schon alles abgeschrieben und getestet)
und alles was ich hier im Forum zu dem Thema gefunden habe hilft mir
nicht weiter.
Wie kann ich meine JList scrollen?
Ich glaub ich poste mal den ganzen code( is net viel ):
Code:
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.*;
import java.awt.*;
import java.awt.event.*;
class Suche extends JFrame implements ListSelectionListener , ActionListener,
ItemListener, AdjustmentListener, DocumentListener
{
JTextField tf;
JList list;
JScrollPane sp;
Scrollbar sb;
String[] input = { "Abbas","Balduin","Caroline","Detlef","Erno","Fabian","Gonzo","Haribald",
"Idris","Jockel","Kurt","Langerhans","Martha","Nina","Opa","Quasimir",
"Richard","Sigurd","Taliasmin","Udo","Volker","Waltraut","Xilis","Yildirim",
"Zengin"
};
void SetFeld(Document d)
{
String s ="";
try
{
s = d.getText(0, d.getLength());
} catch (BadLocationException ble)
{
System.out.println("BadLocationException" + ble);
}
for(int a = 0; a < input.length; a++)
{
if(input[a].startsWith(s.toLowerCase()) || input[a].startsWith(s.toUpperCase()))
{
list.setSelectedIndex(a);
}
}
}
public Suche()
{
super("Suche");
setDefaultCloseOperation(EXIT_ON_CLOSE);
Container cp = getContentPane();
cp.setLayout(new BorderLayout());
tf = new JTextField(15);
list = new JList(input);
sp = new JScrollPane(list);
sb = new Scrollbar();
for(int i = 0; i < list.getModel().getSize(); i++)
{
System.out.println(list.getModel().getElementAt(i));
}
tf.getDocument().addDocumentListener(this);
list.addListSelectionListener(this);
sb.addAdjustmentListener(this);
cp.add(tf, BorderLayout.NORTH);
cp.add(list, BorderLayout.CENTER);
cp.add(sb, BorderLayout.EAST);
}
public void actionPerformed(ActionEvent ae)
{
// TODO Auto-generated method stub
}
public void itemStateChanged(ItemEvent ie)
{
// TODO Auto-generated method stub
}
public void valueChanged(ListSelectionEvent lse)
{
// TODO Auto-generated method stub
}
public void adjustmentValueChanged(AdjustmentEvent ade)
{
switch(ade.getAdjustmentType())
{
case AdjustmentEvent.UNIT_INCREMENT:
case AdjustmentEvent.UNIT_DECREMENT:
case AdjustmentEvent.BLOCK_INCREMENT:
case AdjustmentEvent.BLOCK_DECREMENT:
case AdjustmentEvent.TRACK:
}
}
public void changedUpdate(DocumentEvent de)
{
SetFeld(de.getDocument());
}
public void insertUpdate(DocumentEvent de)
{
SetFeld(de.getDocument());
}
public void removeUpdate(DocumentEvent de)
{
SetFeld(de.getDocument());
}
}
public class MainSuche
{
public static void main(String[] args)
{
Suche s1 = new Suche();
s1.setBounds(250,250,150,300);
//s1.pack();
s1.show();
}
}
Was mache ich falsch?
thx 4 hlp
SLi