Lektion 17
Kända grafiska komponenter
Sen tidigare har ni stött på:
JLabel
JTextField
JButton JTextArea
JPanel JFrame
ImageIcon i JButton och JLabel
Vill man ha en bild i sin JButton skriver man t.ex.:
JButton b = new JButton(new ImageIcon(”bild.jpg”);
Vill man ha en bild i sin JLabel skriver man:
JLabel l = new JLabel(new ImageIcon(”bild.jpg”);
Vill man byta bild i en JLabel skriver man t.ex.:
l.setIcon(new ImageIcon(”bild2.jpg”);
(Givetvis måste filerna ”bild1.jpg” och ”bild2.jpg” inkluderas i Eclipse-projektet.)
JCheckBox
Deklarera och skapa en JCheckBox:
JCheckBox cb = new JCheckBox(”Fet”);
För att ”bocka för” den: cb.setSelected(true);
Koppla lyssnare till JCheckBox:en: cb.addActionListener(this);
I metoden actionPerformed(ActionEvent ae):
JRadioButton
Deklarera och skapa en JRadioButton:
JRadioButton rb = new JRadioButton(”Times New Roman”);
För att ”bocka för” den: rb.setSelected(true);
Koppla lyssnare till en JRadioButton: rb.addActionListener(this);
I metoden actionPerformed(ActionEvent ae):
ButtonGroup
För att enbart en JRadioButton kan vara nertryckt: ButtonGroup g = new ButtonGroup();
Lägg till JRadioButton:s till ”gruppen”: g.add(rb1);
g.add(rb2); g.add(rb3);
JComboBox
Är en lista med t. ex text och/eller bilder. Skapa en JComboBox:
String[] text = {”Val 1”, ”Val 2”, ”Val 3”}; JComboBox k = new JComboBox(text); Koppla lyssnare till JComboBox:en:
k.addActionListener(this);
I metoden actionPerformed(ActionEvent ae): int val = k.getSelectedIndex();
JToggleButton
Är en knapp som kan vara tryckt eller ej tryckt. Deklarera och skapa en JToggleButton:
JToggleButton b = new JToggleButton(”Visa/Dölj”); Koppla lyssnare till JComboBox:en:
b.addActionListener(this);
I metoden actionPerformed(ActionEvent ae): b.isSelected();
ItemListener
För komponenterna:
JCheckBox, JRadioButton, JComboBox och JToggleButton kan även lyssnaren ItemListener fungera.
Istället för implements ActionListener - implements ItemListener T. ex.:
JToggleButton b = new JToggleButton(”Visa/Dölj”); b.addItemListener(this);
I metoden itemStateChanged(ItemEvent ie): b.isSelected();
JScrollBar
Är en ”Rullningslist”.
Deklarera och skapa en JScrollBar:
JScrollBar sb = new JScrollBar(0, 50, 0, 0, 100);
Koppla lyssnaren AdjustmentListener (implements AdjustmentListener):
sb.addAdjustmentListener(this);
I metoden adjustmentValueChanged(AdjustmentEvent ae): int v = sb.getValue(); 0 (horisontell) 1 (vertikal) ”Startvärde” Handtagets ”Logiska bredd” ”Minsta värde” ”Största värde”
JSlider
Är en alternativ ”Rullningslist”. Deklarera och skapa en JSlider:
JSlider s = new JSlider(0, 0, 100, 50);
Koppla lyssnaren AdjustmentListener (implements ChangeListener):
(finns i paketet javax.swing.event) s.addChangeListener(this);
I metoden stateChanged(ChangedEvent ce): int v = s.getValue(); 0 (horisontell) 1 (vertikal) ”Startvärde” ”Minsta värde” ”Största värde”
JSlider
Lägg till skalstreck: s.setPaintTicks(true);
Avstånd mellan skalstreck: s.setMajorTickSpacing(20);
Ritar ut siffror vid skalstreck: s.setPaintLabels(true);
Lägg till delskalstreck:
JScrollPane
Används som för att t. ex. ”rulla” (för) stora bilder.
Komponenter kan få en JScrollPane ”knuten” till sig t ex en JPanel med en JLabel.
Deklarera och skapa en ny JScrollBar :
T. ex.:
JPanel p = new JPanel();