[JAVA] JList Selectie
Ik weet wel dat er java kenners hier zijn dus vandaar dat ik het hier post :x
Goedendag,
Ik ben bezig geweest met een klein simpel opdrachtje in java.
Quote:
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class JListOpdracht extends JFrame implements ActionListener{
private JButton knopA = new JButton("A");
private JButton knopB = new JButton("B");
private JButton knopC = new JButton("C");
private JButton knopClear = new JButton("Clear");
String woorden[] = { "Aal", "Aap", "Aas", "Arend", "Bom", "Boom", "Bos", "Bot", "Car", "Colt", "Computer", "Creative"};
private JList list = new JList(woorden);
public JListOpdracht(){
Container container = getContentPane();
container.setLayout(new BorderLayout());
JPanel p1 = new JPanel();
p1.setLayout(new GridLayout(1,4));
p1.add(knopA);
p1.add(knopB);
p1.add(knopC);
p1.add(knopClear);
knopA.addActionListener(this);
knopB.addActionListener(this);
knopC.addActionListener(this);
knopClear.addActionListener(this);
JPanel p2 = new JPanel();
p2.setLayout(new BorderLayout());
p2.add(list, BorderLayout.CENTER);
p2.add(p1, BorderLayout.NORTH);
container.add(p2, BorderLayout.CENTER);
}
public void actionPerformed(ActionEvent e){
JButton knop = (JButton) e.getSource();
if (knop == knopA){
System.out.println("Knop A is geklikt");
int start = 0;
int einde = 3;
list.setSelectionInterval(start, einde);
}
else if (knop == knopB){
System.out.println("Knop B is geklikt");
int start = 4;
int einde = 7;
list.setSelectionInterval(start, einde);
}
else if (knop == knopC){
System.out.println("Knop C is geklikt");
int start = 8;
int einde = 11;
list.setSelectionInterval(start, einde);
}
else if (knop == knopClear){
System.out.println("Knop Clear is geklikt");
list.clearSelection();
}
}
public static void main(String[] args){
JListOpdracht frame = new JListOpdracht();
frame.setTitle("Knoppen drukken");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 250);
frame.setVisible(true);
}
}
import java.awt.event.*;
import java.awt.*;
public class JListOpdracht extends JFrame implements ActionListener{
private JButton knopA = new JButton("A");
private JButton knopB = new JButton("B");
private JButton knopC = new JButton("C");
private JButton knopClear = new JButton("Clear");
String woorden[] = { "Aal", "Aap", "Aas", "Arend", "Bom", "Boom", "Bos", "Bot", "Car", "Colt", "Computer", "Creative"};
private JList list = new JList(woorden);
public JListOpdracht(){
Container container = getContentPane();
container.setLayout(new BorderLayout());
JPanel p1 = new JPanel();
p1.setLayout(new GridLayout(1,4));
p1.add(knopA);
p1.add(knopB);
p1.add(knopC);
p1.add(knopClear);
knopA.addActionListener(this);
knopB.addActionListener(this);
knopC.addActionListener(this);
knopClear.addActionListener(this);
JPanel p2 = new JPanel();
p2.setLayout(new BorderLayout());
p2.add(list, BorderLayout.CENTER);
p2.add(p1, BorderLayout.NORTH);
container.add(p2, BorderLayout.CENTER);
}
public void actionPerformed(ActionEvent e){
JButton knop = (JButton) e.getSource();
if (knop == knopA){
System.out.println("Knop A is geklikt");
int start = 0;
int einde = 3;
list.setSelectionInterval(start, einde);
}
else if (knop == knopB){
System.out.println("Knop B is geklikt");
int start = 4;
int einde = 7;
list.setSelectionInterval(start, einde);
}
else if (knop == knopC){
System.out.println("Knop C is geklikt");
int start = 8;
int einde = 11;
list.setSelectionInterval(start, einde);
}
else if (knop == knopClear){
System.out.println("Knop Clear is geklikt");
list.clearSelection();
}
}
public static void main(String[] args){
JListOpdracht frame = new JListOpdracht();
frame.setTitle("Knoppen drukken");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 250);
frame.setVisible(true);
}
}
Wat dit programma doet:
Als ik op knop A drukt licht ie de 1e 4 woorden op.
Als ik op knop B drukt light ie de volgende 4 op
En met C het zelfde.
Maar wat ik nu wil is:
Als ik op knop A klikt dat ie alle woorden oplicht die met de letter A begint.
Met B, C het zelfde.
Heeft iemand enig idee hoe ik dit het best kan maken?
Let wel ik ben een beginner ;)
Bedankt voor de hulp
Er zijn nog geen reacties op dit bericht.