JAVA SWING.
Przygotował: Paweł Zmiertka
JProgressBar (wskaźnik zaawansowania).
Zazwyczaj tego typu elementy są używane podczas realizacji zadań wymagających nieco dłuższego czasu. Są one wykorzystywane do śledzenia postępu realizacji zadań, reprezentowanych w postaci numerycznej. Tworzy się je przez podanie wartości minimalnej i maksymalnej, które odpowiadają miejscom, gdzie zadanie zaczyna się i kończy. Pozwalają one użytkownikowi na zorientowanie się, jaki jest postęp zadania i ile czasu pozostało do jego zakończenia.
Wskaźniki zaawansowania są zaimplementowne w pakiecie Swing poprzez klasę JProgressBar.
Do utworzenia wskaźnika zaawansowania można wykorzystać następujący konstruktory:
- JProgressBar () – tworzy nowy wskaźnik zaawansowania,
- JProgressBar (int, int) – tworzy nowy wskaźnik zaawansowania z określonymi wartościami, minimalną i maksymalną,
- JProgressBar (int, int, int) – tworzy nowy wskaźnik zaawansowania z określoną orientacją, wartością minimalną i maksymalną.
Orientację wskaźnika zaawansowania można zmieniać za pomocą zmiennych klasowych SwingConstants.Horizontal oraz SwingConstants.Vertical. Domyślnie wskaźniki zorientowne są poziomo.
Wartości, minimalna i maksymalna, mogą być ustawione poprzez wywołanie na rzecz danego wskaźnika zaawansowania metod setMinimum (int) oraz setMaximum (int).
Aby zaktualizować wartości wskaźnika zaawansowania należałoby wywołać na jego rzecz metodę setValue (int) z parametrem odpowiadającej postępowi zadania w danej chwili.
Wskaźniki zaawansowania oprócz samego paska postępu często zawierają etykiety tekstowe obrazujące podziałkę procentową realizacji zadania, w tym celu należy wywołać metodę setStringPainted (boolean) z parametrem true. Parametr false powoduje wyłączenie wyświetlania etykiet.
Przykład:
Import java.awt.*;
Import java.awt.event.*;
Import javax.swing.*;
public class Progress extends JFrame
{
JprogressBar current;
JTextArea out;
JButton find;
Thread runner;
int num = 0;
public Progress ()
super (“Progress”);
set DefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
JPanel pane = new JPanel();
pane.setLayout(new FlowLayout());
current = new JProgressBar (0, 2000);
current setValue(0);
current.setStringPainted(true);
pane.add(current);
setContentPane(pane);
}
public void iterate()
while (num < 2000)
current.setValue(num);
try
Thread.sleep(1000);
catch (InterruptedException e)
num += 95;
public static void main (String [] args)
Progress frame = new Progress();
frame.pack();
frame.setVisible(true);
frame.iterate();
JSlider (Suwak).
Suwaki, które są zaimplementowane w klasie JSlider pakietu Swing, pozwalają na wybór żądanej wartości z danego zakresu za pomocą przesuwania “uchwytu” suwaka. W wielu przypadkach suwaki mogą być wykorzystywane zamiast pól tekstowych do wprowadzania wartości numerycznych.
Domyślnie, suwaki są zorientowane w poziomie. Można to zmienić za pomocą dwóch zmiennych klasy SwingConstants: HORIZONTAL i VERTICAL.
Do tworzenia suwaków można wykorzystać następujące konstruktory:
– JSlider (int, int) – tworzy nowy suwak i definiuje jego wartość minimalną i maksymalną,
– JSlider (int, int, int) – towrzy suwak i definiuje jego wartość minimalną i maksymalną oraz wartość początkową,
– JSlider (int, int, int, int) – towrzy suwak i definiuje jego orientację, wartość minimalną i maksymalną oraz wartość początkową,
Składnik JSlider pozwala na opcjonalne umieszcznie etykiet, które umżliwiają oznaczenie wartości minimalnej, wartości maksymalnej oraz dwóch różnych zestawów podziałek ułątwiających wybranie żądanej wartości.
Poszczgólne elementy tych etykiet mogą być ustawiane poprzez wywołanie kilku metod składnika JSlider:
– setMajorTickSpacing (int) – ustawia znacznik głównej podziałki w określonych odstępach,
– setMinorTickSpacing(int) – ustawia znacznik podziałki pomocniczej w określonych odstępach,
– setPaintTicks (boolean) – określa, czy znaczniki mają być wyświetlane (true) czy nie (false),
– setPaintLabels (boolean) – określa, czy wartości numeryczne znaczników podziałki mają być wyświetlane (true) czy nie (false),
Przykład.
import java.awt.event.*;
import javax.swing.*;
public class Slider extends JFrame
public Slider()
super (“Slider”);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JSlider pickNum = new Jslider(JSlider.HORIZONTAL, 0,30,5);
pickNum.setMinorTickSpacing(10);
pickNum.setMinorTickSpacing(1);
pickNum.setMinorPaintTicks(true);
pickNum.setPaintLabels(true);
pane.add(pickNum);
public static void main(String[] args)
Slider frame = new Slider();
JButton
Klasa JButton reprezentuje przyciski, czyli składniki dobrze znane każdemu użytkownikowi “okienek”.
Przycisk zaimplementowany w pakiecie Swing może mieć postać etykiety tekstowej, ikony graficznej lub łączyć w sobie te dwie cechy.
Do jego utworzenia można wykorzystać następujące konstruktory:
– JButton (String) – tworzy przycisk z etykietą tekstową,
– JButton (Icon) – tworzy przycisk w postaci ikony graficznej,
– JButton (String, Icon) – tworzy przycisk z etykietą tekstową oraz ikoną,
Przykład1.
public class Buttons extends JFrame
JButton abort = new JButton (“Abort”);
JButton retry = new JButton (“Retry”);
JButton fail = new JButton (“Fail”);
public Buttons ()
super (“Buttons”);
setSize(80,140);
JPanel pane = new JPanel ();
pane.add(abort);
pane.add(retry);
pane.add(fail);
public static void main (String[] args)
Buttons rb = new Buttons();
rb.show();
W powyższym przykładzie klasa Buttons posiada trzy zmienne obiektowe – abort, retry oraz fail,które reprezentują obiety klasy JButton.
Przykład2 (z wykorzystaniem apletu).
import javax.swing.*
public class ButtonApplet extends Japplet
public void init()
4
rekin_80