nazwisko_.setfont(new Font("Times New Roman", Font.BOLD, 12));
|
|
- Seweryn Stefaniak
- 6 lat temu
- Przeglądów:
Transkrypt
1 Przykładowe aplikacje wykorzystujące komponenty AWT i SWING import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.*; public class przyk { public Component createcomponents() { final JPanel plansza = new JPanel(); JPanel w1=new JPanel(); JPanel w2=new JPanel(); final JTextField textfield = new JTextField(12); final JLabel etykieta = new JLabel(); etykieta.settext("dane osobowe"); etykieta.setfont(new Font("Arial", Font.ITALIC+Font.BOLD, 20)); final JLabel nazwisko_ = new JLabel(); nazwisko_.settext("nazwisko: "); nazwisko_.setfont(new Font("Times New Roman", Font.BOLD, 12));
2 final JTextField nazwisko = new JTextField(12); plansza.setborder(borderfactory.createemptyborder(10,30,10,30)); w1.setlayout(new BoxLayout(w1, BoxLayout.X_AXIS)); w2.setlayout(new BoxLayout(w2, BoxLayout.X_AXIS)); w1.add(etykieta); w2.add(nazwisko_); w2.add(nazwisko); plansza.add(w1); plansza.add(w2); plansza.setlayout(new BoxLayout(plansza, BoxLayout.Y_AXIS)); return plansza; public static void main(string[] args) { JFrame ramka = new JFrame("Aplikacja ZADANIE"); przyk aplikacja = new przyk(); Component zawartosc = aplikacja.createcomponents(); ramka.getcontentpane().add( zawartosc, BorderLayout.CENTER); //konczy elegancko pracę z aplikacjš ramka.addwindowlistener(new WindowAdapter()
3 { public void windowclosing(windowevent e) { System.exit(0); ); ramka.pack(); ramka.setvisible(true); Kod aplikacji do obsługi tablic (w przykładzie tablica 3*3) wykorzystujšcej układacz GridLayout. import javax.swing.*; import java.awt.*; import java.awt.event.*;
4 import java.io.*; public class przyk { String [][] a={ {"Adam", "Ania", "Asia", {"Siedlce","Warszawa", "Szczecin", {"1000","3000","3500"; public Component createcomponents() { JPanel p2 = new JPanel ( ); p2.setbackground ( Color.red ); p2.setlayout ( new GridLayout ( 3, 3, 10, 10) ); p2.add ( new Button ( a[0][0] ) ); p2.add ( new Button ( a[0][1] ) ); p2.add ( new Button ( a[0][2] ) ); p2.add ( new Button ( a[1][0] ) ); p2.add ( new Button ( a[1][1] ) ); p2.add ( new Button ( a[1][2] ) ); p2.add ( new Button ( a[2][0] ) ); p2.add ( new Button ( a[2][1] ) ); p2.add ( new Button ( a[2][2] ) ); return p2;
5 public static void main(string[] args) { JFrame ramka = new JFrame("Aplikacja ZADANIE"); przyk aplikacja = new przyk(); Component zawartosc = aplikacja.createcomponents(); ramka.getcontentpane().add( zawartosc, BorderLayout.CENTER); //konczy elegancko pracę z aplikacjš ramka.addwindowlistener(new WindowAdapter() { public void windowclosing(windowevent e) { System.exit(0); ); ramka.pack(); ramka.setvisible(true); Formularz do wprowadzania danych. Formularz pokazany jest na rysunku (W formie aplikacji Java)
6 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class zadanie
7 { public Component createcomponents() { final JPanel plansza = new JPanel(); JPanel w1=new JPanel(); JPanel w2=new JPanel(); JPanel w3=new JPanel(); JPanel w4=new JPanel(); JPanel w5=new JPanel(); JPanel w6=new JPanel(); JPanel w6i=new JPanel(); JPanel w6ii=new JPanel(); JPanel w7=new JPanel(); JPanel w7i=new JPanel(); JPanel w7ii=new JPanel(); JPanel w76=new JPanel(); JButton klawisz = new JButton("Zapisz dane!!!!"); JPanel wa=new JPanel(); final JTextField textfield = new JTextField(12);
8 final JLabel etykieta = new JLabel(); etykieta.settext("dane osobowe"); etykieta.setfont(new Font("Arial", Font.ITALIC+Font.BOLD, 20)); final JLabel nazwisko_ = new JLabel(); nazwisko_.settext("nazwisko: "); nazwisko_.setfont(new Font("Times New Roman", Font.BOLD, 12)); final JTextField nazwisko = new JTextField(12); final JLabel imie_ = new JLabel(); imie_.settext("imię: "); imie_.setfont(new Font("Times New Roman", Font.BOLD, 12)); final JTextField imie = new JTextField(12); final JLabel adres_ = new JLabel(); adres_.settext("adres: "); adres_.setfont(new Font("Times New Roman", Font.BOLD, 12));
9 final JTextField adres = new JTextField(12); final JLabel wyplata_ = new JLabel(); wyplata_.settext("do wypłaty:"); wyplata_.setfont(new Font("Times New Roman", Font.BOLD, 12)); final JTextField wyplata = new JTextField(12); final JLabel zaint_ = new JLabel(); zaint_.settext("do wypłaty:"); zaint_.setfont(new Font("Times New Roman", Font.BOLD, 12)); JCheckBox zaint1=new JCheckBox("Polityka");; JCheckBox zaint2=new JCheckBox("Nauka");; JCheckBox zaint3=new JCheckBox("Film");; JCheckBox zaint4=new JCheckBox("Teatr");; JCheckBox zaint5=new JCheckBox("Literatura");; final JLabel pali_ = new JLabel(); pali_.settext("pali?:"); pali_.setfont(new Font("Times New Roman", Font.BOLD, 12));
10 JRadioButton pali1=new JRadioButton("Palšcy"); JRadioButton pali2=new JRadioButton("Nie Palšcy"); final JTextArea opis = new JTextArea(" "); opis.setfont(new Font("Serif", Font.BOLD, 16)); opis.setlinewrap(true); opis.setwrapstyleword(true); JScrollPane areascrollpane = new JScrollPane(opis); areascrollpane.setverticalscrollbarpolicy(jscrollpane.vertical_scrollbar_always); areascrollpane.setpreferredsize(new Dimension(100, 200)); klawisz.addactionlistener(new ActionListener() { public void actionperformed(actionevent e) { klikania."); JOptionPane.showMessageDialog(plansza,"Pozdrowienie podczas );
11 plansza.setborder(borderfactory.createemptyborder(10,30,10,30)); w1.setlayout(new BoxLayout(w1, BoxLayout.X_AXIS)); w2.setlayout(new BoxLayout(w2, BoxLayout.X_AXIS)); w3.setlayout(new BoxLayout(w3, BoxLayout.X_AXIS)); w4.setlayout(new BoxLayout(w4, BoxLayout.X_AXIS)); w5.setlayout(new BoxLayout(w5, BoxLayout.X_AXIS)); w6.setlayout(new BoxLayout(w6, BoxLayout.X_AXIS)); w6i.setlayout(new BoxLayout(w6I, BoxLayout.X_AXIS)); w6ii.setlayout(new BoxLayout(w6II, BoxLayout.Y_AXIS)); w7.setlayout(new BoxLayout(w7, BoxLayout.X_AXIS)); w7i.setlayout(new BoxLayout(w7I, BoxLayout.X_AXIS)); w7ii.setlayout(new BoxLayout(w7II, BoxLayout.Y_AXIS)); w76.setlayout(new BoxLayout(w76, BoxLayout.X_AXIS)); plansza.setlayout(new BoxLayout(plansza, BoxLayout.Y_AXIS)); w1.add(etykieta); w2.add(nazwisko_); w2.add(nazwisko); w3.add(imie_); w3.add(imie); w4.add(adres_);
12 w4.add(adres); w5.add(wyplata_); w5.add(wyplata); w6i.add(zaint_); w6ii.add(zaint1); w6ii.add(zaint2); w6ii.add(zaint3); w6ii.add(zaint4); w6ii.add(zaint5); w6.add(w6i); w6.add(w6ii); w7i.add(pali_); w7ii.add(pali1); w7ii.add(pali2); w7.add(w7i); w7.add(w7ii); w76.add(w6); w76.add(w7); plansza.add(w1); plansza.add(w2);
13 plansza.add(w3); plansza.add(w4); plansza.add(w5); plansza.add(w76); plansza.add(areascrollpane); plansza.add(klawisz); return plansza; public static void main(string[] args) { JFrame ramka = new JFrame("Aplikacja ZADANIE"); zadanie aplikacja = new zadanie(); Component zawartosvcv = aplikacja.createcomponents(); ramka.getcontentpane().add( zawartosvcv, BorderLayout.CENTER); ramka.addwindowlistener(new WindowAdapter() { public void windowclosing(windowevent e) { System.exit(0);
14 ); ramka.pack(); ramka.setvisible(true); import javax.swing.*; //This is the final package name. //import com.sun.java.swing.*; //Used by JDK 1.2 Beta 4 and all //Swing releases before Swing 1.1 Beta 3. import java.awt.*; import java.awt.event.*; public class s1p{ /* stałe i zmienne uczestniczšce w wywietlaniu */ private static String etykietaprefix = "Liczba kliknięć klawisza: "; private int liczbakliknieqcv = 0; public Component createcomponents() { /* elementy pokazywane na ekranie plansza, a na niej klawisz, a pod nim etykieta */
15 final JLabel etykieta = new JLabel(etykietaPrefix + "0 "); JButton klawisz = new JButton("Jam jest Swingowy klawisz!"); // JLabel, JButton to "terminalne" komponenty GUI, inne to: JList, JComboBox, JTextField, JMenu, JCheckboxMenuItem, JRadioButtonMenuItem, JAbstractButton, JMenuBar, JPopupMenu, JSeparator, JSlider, JPasswordField, JColorChooser, JFileChooser, JTable, JText, JTree JPanel plansza = new JPanel(); // JPanel - komponent poziomu poredniego GUI, inne to JScrollPane, JTabbedPane, JSplitPane, JToolBar, JInternalFrame, JLayeredPane, JDesktopPane, JProgressBar, /* działanie elementów aktywnych - reakcje na zdarzenia */ // Alt-I będzie równoznaczne z kliknięciem klawisza klawisz.setmnemonic(keyevent.vk_i); // reakcja klawisza na kliknięcie myszy /* klawisz.addactionlistener(new ActionListener() { ); public void actionperformed(actionevent e) { liczbakliknieqcv++; etykieta.settext(etykietaprefix + liczbakliknieqcv); Inni podsłuchiwacze zdarzeń to: Act that results in the event Listener type User clicks a button, presses Return while typing in a text field, or chooses a menu item
16 ActionListener User closes a frame (main window) WindowListener User presses a mouse button while the cursor is over a component MouseListener User moves the mouse over a component Component becomes visible Component gets the keyboard focus MouseMotionListener ComponentListener FocusListener Table or list selection changes ListSelectionListener Elementy potrzebne dla podsłuchiwacza podłuchiwacza Deklaracja public class MyClass implements ActionListener { Rejestracja : somecomponent.addactionlistener(instanceofmyclass); Implementacja metody w interfejsie podsłuchiwacza public void actionperformed(actionevent e) {...//code that reacts to the action...
17 */ // objanienie klawisza przy najechaniu nań - niepotrzebne klawisz.settooltiptext("kliknięcie tego klawisza jest zliczne poniżej."); // a teraz instrukcja niepotrzebna sama w sobie, ale wspierajšca oprogramoweanie dla niepełnosprawnych (zamina tekstu na dżwięki, głos) // mówi, że etykieta opisuje istotę działania komponentu, jakim jest klawisz. etykieta.setlabelfor(klawisz); // brzeg dla planszy plansza.setborder(borderfactory.createemptyborder( 30, //top 30, //left 10, //bottom 30) //right ); /* ułożenie elementów na planszy */ plansza.setlayout(new GridLayout(0, 1)); /* jeden pod drugim */ // możliwe Layouty to: BorderLayout, BoxLayout, FlowLayout, GridBagLayout, GridLayout plansza.add(klawisz);
18 plansza.add(etykieta); return plansza; public static void main(string[] args) { // główny program // wyglšd ekranu try { UIManager.setLookAndFeel( UIManager.getCrossPlatformLookAndFeelClassName()); catch (Exception e) { //główne okno JFrame ramka = new JFrame("Aplikacja swingowa"); // JFrame - komponent szczytowy GUI - inne to JDialog, JApplet // dodaj zawartoć wygenerowanš przez ten program s1p aplikacja = new s1p(); Component zawartosvcv = aplikacja.createcomponents(); ramka.getcontentpane().add( zawartosvcv, BorderLayout.CENTER); //Zakończenie kreowania ramki i pokazanie jej
19 // reakcja ramki na nacinięcie krzyżyka ramka.addwindowlistener(new WindowAdapter() { ); public void windowclosing(windowevent e) { System.exit(0); ramka.pack(); // pokazanie ramki ramka.setvisible(true); import javax.swing.*; //This is the final package name. //import com.sun.java.swing.*; //Used by JDK 1.2 Beta 4 and all //Swing releases before Swing 1.1 Beta 3. import java.awt.*; import java.awt.event.*; import javax.swing.table.* ;
20 public class s12p_table{ public Component createcomponents() { /* elementy pokazywane na ekranie plansza, a na niej tablica */ MojModelTablicy mojmodel = new MojModelTablicy (); JTable tablica = new JTable(mojModel); tablica.setpreferredscrollableviewportsize( new Dimension(500, 70)); //Create the scroll pane and add the table to it. JScrollPane skrolowanaplansza = new JScrollPane(tablica); JPanel plansza = new JPanel(); // brzeg dla planszy plansza.setborder(borderfactory.createemptyborder( 30, //top
21 30, //left 10, //bottom 30) //right ); /* ułożenie elementów na planszy */ plansza.setlayout(new GridLayout(0, 1)); /* jeden pod drugim */ // możliwe Layouty to: BorderLayout, BoxLayout, FlowLayout, GridBagLayout, GridLayout plansza.add(skrolowanaplansza); return plansza; // klasy pomocnicze class MojModelTablicy extends AbstractTableModel { /* Tablica z danymi */ final Object[][] zawartosctablicy = { {"Mary", "Campione", "Snowboarding", new Integer(5), new Boolean(false), {"Alison", "Huml", "Rowing", new Integer(3), new Boolean(true), {"Kathy", "Walrath",
22 "Chasing toddlers", new Integer(2), new Boolean(false), {"Mark", "Andrews", "Speed reading", new Integer(20), new Boolean(true), {"Angela", "Lih", "Teaching high school", new Integer(4), new Boolean(false) ; final String[] nazwykolumn= {"Imię", "Nazwisko", "Sport", "Wiek", "Normalnoć"; public int getcolumncount() { return nazwykolumn.length; public int getrowcount() { return zawartosctablicy.length;
23 public String getcolumnname(int col) { return nazwykolumn[col]; public Object getvalueat(int row, int col) { return zawartosctablicy[row][col]; public Class getcolumnclass(int c) { return getvalueat(0, c).getclass(); /* * Don't need to implement this method unless your table's * editable. */ public boolean iscelleditable(int row, int col) { //Note that the data/cell address is constant, //no matter where the cell appears onscreen. if (col < 2) {
24 return false; else { return true; /* * Don't need to implement this method unless your table's * data can change. */ public void setvalueat(object value, int row, int col) { //debugging code - np. pokazanie starej zawartoœci tablicy na stdout //ugly special handling of Integers - dla Java 1.1 i 1.2,- dla Java1.3 niepotrzebne zawartosctablicy[row][col] = value; firetablecellupdated(row, col); //debugging code - np. pokazywanie nowej zawartoci na stdout // koniec klas pomocniczych public static void main(string[] args)
25 { // główny program // wyglšd ekranu try { UIManager.setLookAndFeel( UIManager.getCrossPlatformLookAndFeelClassName()); catch (Exception e) { //główne okno JFrame ramka = new JFrame("Aplikacja swingowa"); // JFrame - komponent szczytowy GUI - inne to JDialog, JApplet // dodaj zawartoć wygenerowanš przez ten program s12p_table aplikacja = new s12p_table(); Component zawartosvcv = aplikacja.createcomponents(); ramka.getcontentpane().add( zawartosvcv, BorderLayout.CENTER); //Zakończenie kreowania ramki i pokazanie jej // reakcja ramki na nacinięcie krzyżyka ramka.addwindowlistener(new WindowAdapter() { public void windowclosing(windowevent e) { System.exit(0);
26 ); ramka.pack(); // pokazanie ramki ramka.setvisible(true); javax.swing.*; //This is the final package name. import //import com.sun.java.swing.*; //Used by JDK 1.2 Beta 4 and all //Swing releases before Swing 1.1 Beta 3. import java.awt.*; import java.io.*; import java.awt.event.*; public class s13p_pliki{ /* stałe i zmienne uczestniczšce w wywietlaniu */ private int liczbakliknieqcv = 0;
27 public Component createcomponents() { /* elementy pokazywane na ekranie */ plansza, a na niej klawisz, a pod nim etykieta final JLabel etykieta = new JLabel("Nie otworzono jeszcze pliku " + "0 "); JButton klawisz = new JButton("Kliknij, by otworzyć jaki wybrany plik!"); final JFileChooser wybovrpliku = new JFileChooser(); // JLabel, JButton to "terminalne" komponenty GUI, inne to: JList, JComboBox, JTextField, JMenu, JCheckboxMenuItem, JRadioButtonMenuItem, JAbstractButton, JMenuBar, JPopupMenu, JSeparator, JSlider, JPasswordField, JColorChooser, JFileChooser, JTable, JText, JTree final JPanel plansza = new JPanel(); // JPanel - komponent poziomu poœredniego GUI, inne to JScrollPane, JTabbedPane, JSplitPane, JToolBar, JInternalFrame, JLayeredPane, JDesktopPane, JProgressBar, /* działanie elementów aktywnych - reakcje na zdarzenia */ // Alt-I będzie równoznaczne z kliknięciem klawisza klawisz.setmnemonic(keyevent.vk_i); // reakcja klawisza na kliknięcie myszy klawisz.addactionlistener(new ActionListener() { public void actionperformed(actionevent e) { liczbakliknieqcv++;
28 int returnval = wybovrpliku.showopendialog(plansza); if (returnval == JFileChooser.APPROVE_OPTION) { File plik = wybovrpliku.getselectedfile(); //this is where a real application would open the file. etykieta.settext("otwieram: " + plik.getname() + ";"+plik.getabsolutepath() ); else { etykieta.settext("użytkownik nie chce otwierać - klik"+liczbakliknieqcv ); ); // objanienie klawisza przy najechaniu nań - niepotrzebne klawisz.settooltiptext("kliknięcie tego klawisza jest zliczne poniżej."); // a teraz instrukcja niepotrzebna sama w sobie, ale wspierajšca oprogramoweanie dla niepełnosprawnych (zamina tekstu na dżwięki, głos) // mówi, że etykieta opisuje istotę działania komponentu, jakim jest klawisz. etykieta.setlabelfor(klawisz); // brzeg dla planszy plansza.setborder(borderfactory.createemptyborder(
29 30, //top 30, //left 10, //bottom 30) //right ); /* ułożenie elementów na planszy */ plansza.setlayout(new GridLayout(0, 1)); /* jeden pod drugim */ // możliwe Layouty to: BorderLayout, BoxLayout, FlowLayout, GridBagLayout, GridLayout plansza.add(klawisz); plansza.add(etykieta); return plansza; public static void main(string[] args) { // główny program // wyglšd ekranu try { UIManager.setLookAndFeel( UIManager.getCrossPlatformLookAndFeelClassName()); catch (Exception e) {
30 //główne okno JFrame ramka = new JFrame("Aplikacja swingowa"); // JFrame - komponent szczytowy GUI - inne to JDialog, JApplet // dodaj zawartoć wygenerowanš przez ten program s13p_pliki aplikacja = new s13p_pliki(); Component zawartosvcv = aplikacja.createcomponents(); ramka.getcontentpane().add( zawartosvcv, BorderLayout.CENTER); //Zakończenie kreowania ramki i pokazanie jej // reakcja ramki na nacinięcie krzyżyka ramka.addwindowlistener(new WindowAdapter() { ); public void windowclosing(windowevent e) { System.exit(0); ramka.pack(); // pokazanie ramki ramka.setvisible(true);
31 import javax.swing.*; //This is the final package name. //import com.sun.java.swing.*; //Used by JDK 1.2 Beta 4 and all //Swing releases before Swing 1.1 Beta 3. import java.awt.*; import java.awt.event.*; import javax.swing.event.*;
32 public class s14p_kolory{ /* stałe i zmienne uczestniczšce w wywietlaniu */ public Component createcomponents() { /* elementy pokazywane na ekranie plansza, a na niej kolory, a nad tym etykieta */ final JLabel etykieta = new JLabel("Dobieranie kolorów "); etykieta.setforeground(color.yellow); final JColorChooser wybovrkoloru = new JColorChooser(etykieta.getForeground()); // JLabel, JButton to "terminalne" komponenty GUI, inne to: JList, JComboBox, JTextField, JMenu, JCheckboxMenuItem, JRadioButtonMenuItem, JAbstractButton, JMenuBar, JPopupMenu, JSeparator, JSlider, JPasswordField, JColorChooser, JFileChooser, JTable, JText, JTree final JPanel plansza = new JPanel(); // JPanel - komponent poziomu poredniego GUI, inne to JScrollPane, JTabbedPane, JSplitPane, JToolBar, JInternalFrame, JLayeredPane, JDesktopPane, JProgressBar, /* działanie elementów aktywnych - reakcje na zdarzenia */ wybovrkoloru.getselectionmodel().addchangelistener(
33 new ChangeListener() { public void statechanged(changeevent e) { Color newcolor = wybovrkoloru.getcolor(); etykieta.setforeground(newcolor); ); // brzeg dla planszy plansza.setborder(borderfactory.createemptyborder( 30, //top 30, //left 10, //bottom 30) //right ); /* ułożenie elementów na planszy */ plansza.setlayout(new BoxLayout(plansza, BoxLayout.Y_AXIS)); // możliwe Layouty to: BorderLayout, BoxLayout, FlowLayout, GridBagLayout, GridLayout
34 plansza.add(etykieta); plansza.add(wybovrkoloru, BorderLayout.CENTER); return plansza; public static void main(string[] args) { // główny program // wyglšd ekranu try { UIManager.setLookAndFeel( UIManager.getCrossPlatformLookAndFeelClassName()); catch (Exception e) { //główne okno JFrame ramka = new JFrame("Aplikacja swingowa"); // JFrame - komponent szczytowy GUI - inne to JDialog, JApplet // dodaj zawartoć wygenerowanš przez ten program s14p_kolory aplikacja = new s14p_kolory(); Component zawartosvcv = aplikacja.createcomponents(); ramka.getcontentpane().add( zawartosvcv, BorderLayout.CENTER);
35 //Zakończenie kreowania ramki i pokazanie jej // reakcja ramki na nacinięcie krzyżyka ramka.addwindowlistener(new WindowAdapter() { ); public void windowclosing(windowevent e) { System.exit(0); ramka.pack(); // pokazanie ramki ramka.setvisible(true);
36 /* * 1.2 version. */ import java.awt.*; import java.awt.event.*; import java.awt.geom.*; import javax.swing.*;
37 /* * This is like the FontDemo applet in volume 1, except that it * uses the Java 2D APIs to define and render the graphics and text. */ public class s21p_ksztalty extends Component { final static int maxcharheight = 15; final static int minfontsize = 6; final static Color bg = Color.white; final static Color fg = Color.black; final static Color red = Color.red; final static Color white = Color.white; final static BasicStroke stroke = new BasicStroke(2.0f); final static BasicStroke widestroke = new BasicStroke(8.0f); final static float dash1[] = {10.0f; final static BasicStroke dashed = new BasicStroke(1.0f, BasicStroke.CAP_BUTT,
38 BasicStroke.JOIN_MITER, 10.0f, dash1, 0.0f); Dimension totalsize; FontMetrics fontmetrics; public void init() { //Initialize drawing colors setbackground(bg); setforeground(fg); FontMetrics pickfont(graphics2d g2, String longstring, int xspace) { boolean fontfits = false; Font font = g2.getfont(); FontMetrics fontmetrics = g2.getfontmetrics(); int size = font.getsize(); String name = font.getname(); int style = font.getstyle();
39 while (!fontfits ) { if ( (fontmetrics.getheight() <= maxcharheight) && (fontmetrics.stringwidth(longstring) <= xspace) ) { fontfits = true; else { if ( size <= minfontsize ) { fontfits = true; else { g2.setfont(font = new Font(name, style, --size)); fontmetrics = g2.getfontmetrics(); return fontmetrics;
40 public void paint(graphics g) { Graphics2D g2 = (Graphics2D) g; g2.setrenderinghint(renderinghints.key_antialiasing, RenderingHints.VALUE_ANTIALIAS_ON); Dimension d = getsize(); int gridwidth = d.width / 6; int gridheight = d.height / 2; fontmetrics = pickfont(g2, "Filled and Stroked GeneralPath", gridwidth); Color fg3d = Color.lightGray; g2.setpaint(fg3d); g2.draw3drect(0, 0, d.width - 1, d.height - 1, true); g2.draw3drect(3, 3, d.width - 7, d.height - 7, false); g2.setpaint(fg); int x = 5;
41 int y = 7; int rectwidth = gridwidth - 2*x; int stringy = gridheight fontmetrics.getdescent(); int rectheight = stringy - fontmetrics.getmaxascent() - y - 2; // draw Line2D.Double g2.draw(new Line2D.Double(x, y+rectheight-1, x + rectwidth, y)); g2.drawstring("line2d", x, stringy); x += gridwidth; // draw Rectangle2D.Double g2.setstroke(stroke); g2.draw(new Rectangle2D.Double(x, y, rectwidth, rectheight)); g2.drawstring("rectangle2d", x, stringy); x += gridwidth; // draw RoundRectangle2D.Double g2.setstroke(dashed); g2.draw(new RoundRectangle2D.Double(x, y, rectwidth, rectheight, 10, 10)); g2.drawstring("roundrectangle2d", x, stringy);
42 x += gridwidth; // draw Arc2D.Double g2.setstroke(widestroke); g2.draw(new Arc2D.Double(x, y, rectwidth, rectheight, 90, 135, Arc2D.OPEN)); g2.drawstring("arc2d", x, stringy); x += gridwidth; // draw Ellipse2D.Double g2.setstroke(stroke); g2.draw(new Ellipse2D.Double(x, y, rectwidth, rectheight)); g2.drawstring("ellipse2d", x, stringy); x += gridwidth; // draw GeneralPath (polygon) int x1points[] = {x, x+rectwidth, x, x+rectwidth; int y1points[] = {y, y+rectheight, y+rectheight, y; GeneralPath polygon = new GeneralPath(GeneralPath.WIND_EVEN_ODD, x1points.length); polygon.moveto(x1points[0], y1points[0]);
43 for ( int index = 1; index < x1points.length; index++ ) { polygon.lineto(x1points[index], y1points[index]); ; polygon.closepath(); g2.draw(polygon); g2.drawstring("generalpath", x, stringy); // NEW ROW x = 5; y += gridheight; stringy += gridheight; // draw GeneralPath (polyline) int x2points[] = {x, x+rectwidth, x, x+rectwidth; int y2points[] = {y, y+rectheight, y+rectheight, y; GeneralPath polyline = new GeneralPath(GeneralPath.WIND_EVEN_ODD, x2points.length); polyline.moveto (x2points[0], y2points[0]); for ( int index = 1; index < x2points.length; index++ ) {
44 polyline.lineto(x2points[index], y2points[index]); ; g2.draw(polyline); g2.drawstring("generalpath (open)", x, stringy); x += gridwidth; // fill Rectangle2D.Double (red) g2.setpaint(red); g2.fill(new Rectangle2D.Double(x, y, rectwidth, rectheight)); g2.setpaint(fg); g2.drawstring("filled Rectangle2D", x, stringy); x += gridwidth; // fill RoundRectangle2D.Double GradientPaint redtowhite = new GradientPaint(x,y,red,x+rectWidth, y,white); g2.setpaint(redtowhite); g2.fill(new RoundRectangle2D.Double(x, y, rectwidth, rectheight, 10, 10)); g2.setpaint(fg); g2.drawstring("filled RoundRectangle2D", x, stringy);
45 x += gridwidth; // fill Arc2D g2.setpaint(red); g2.fill(new Arc2D.Double(x, y, rectwidth, rectheight, 90, 135, Arc2D.OPEN)); g2.setpaint(fg); g2.drawstring("filled Arc2D", x, stringy); x += gridwidth; // fill Ellipse2D.Double redtowhite = new GradientPaint(x,y,red,x+rectWidth, y,white); g2.setpaint(redtowhite); g2.fill (new Ellipse2D.Double(x, y, rectwidth, rectheight)); g2.setpaint(fg); g2.drawstring("filled Ellipse2D", x, stringy); x += gridwidth; // fill and stroke GeneralPath
46 int x3points[] = {x, x+rectwidth, x, x+rectwidth; int y3points[] = {y, y+rectheight, y+rectheight, y; GeneralPath filledpolygon = new GeneralPath(GeneralPath.WIND_EVEN_ODD, x3points.length); filledpolygon.moveto(x3points[0], y3points[0]); for ( int index = 1; index < x3points.length; index++ ) { filledpolygon.lineto(x3points[index], y3points[index]); ; filledpolygon.closepath(); g2.setpaint(red); g2.fill(filledpolygon); g2.setpaint(fg); g2.draw(filledpolygon); g2.drawstring("filled and Stroked GeneralPath", x, stringy); /* public static void main(string s[]) { JFrame f = new JFrame("s21p_ksztalty"); f.addwindowlistener(new WindowAdapter() { public void windowclosing(windowevent e) {System.exit(0); );
47 JApplet applet = new s21p_ksztalty(); f.getcontentpane().add("center", applet); applet.init(); f.pack(); f.setsize(new Dimension(550,100)); f.show(); */ public static void main(string[] args) { // główny program // wyglšd ekranu try { UIManager.setLookAndFeel( UIManager.getCrossPlatformLookAndFeelClassName()); catch (Exception e) { //główne okno Component komponent = new s21p_ksztalty(); JFrame ramka = new JFrame("Aplikacja swingowa "+komponent.getclass().getname() ); // JFrame - komponent szczytowy GUI - inne to JDialog, JApplet // dodaj zawartoć wygenerowanš przez ten program
48 // Component zawartosvcv = aplikacja.createcomponents(); ramka.getcontentpane().add( komponent, BorderLayout.CENTER); //Zakończenie kreowania ramki i pokazanie jej // reakcja ramki na nacinięcie krzyżyka ramka.addwindowlistener(new WindowAdapter() { ); public void windowclosing(windowevent e) { System.exit(0); ramka.pack(); // pokazanie ramki ramka.setsize(new Dimension(550,100)); ramka.setvisible(true); // koniec klasy
49
Java - interfejs graficzny
Java - interfejs graficzny Pakiet Swing Pakiet Swing przygotował: pawel@kasprowski.pl Czym jest Swing? Rozszerzenie AWT (Abstract Windows Toolkit) do tworzenia GUI (Graphical User Interface) w Javie import
Bardziej szczegółowoInformatyka i Ekonometria Programowanie komputerów Ćwiczenia Tworzenie aplikacji wykorzystaniem graficznego interfejsu użytkownika - Swing.
Kierunek: Informatyka i Ekonometria Przedmiot: Programowanie komputerów Forma zajęć: Ćwiczenia Temat: Tworzenie aplikacji z wykorzystaniem graficznego interfejsu użytkownika - Swing. Biblioteka SWING podstawowa
Bardziej szczegółowoPodstawy Języka Java
Podstawy Języka Java Wprowadzenie do AWT AWT Abstract Window Toolkit, biblioteka wykorzystywana do budowy graficznych interfejsów użytkownika w Javie AWT do obsługi elementów interfejsu użytkownika wykorzystuje
Bardziej szczegółowoProgramowanie graficznych interfejsów użytkownika
Programowanie obiektowe Programowanie graficznych interfejsów użytkownika Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Programowanie
Bardziej szczegółowoProgramowanie zdarzeniowe
Programowanie zdarzeniowe II. Biblioteka Swing Małgorzata Prolejko ZDA JA16Z03 Plan Struktura Swing Komponenty proste Ramki Kolejność warstw Zarządca układu Panele Komponenty złożone Okna dialogowe i wewnętrzne
Bardziej szczegółowoKlasy abstrakcyjne. Klasę abstrakcyjną tworzymy przy pomocy modyfikatora abstract
Klasy abstrakcyjne Klasa abstrakcyjna jest to klasa której obiekty nie mogą być tworzone, może być natomiast dziedziczona. Może posiadać konstruktor, może on być jednak wywołany tylko przez klasy pochodne.
Bardziej szczegółowoKontenery i komponenty graficzne
JAVA Kontenery i komponenty graficzne Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Opracował: Andrzej Nowak Kontenery Aplikacja okienkowa składa
Bardziej szczegółowoProgramowanie w Javie Wykład 6 Okienka w Javie (AWT)
Programowanie w Javie Wykład 6 Okienka w Javie (AWT) Płock 2014/2015 Wprowadzenie do AWT AWT Abstract Window Toolkit, wykorzystywany do budowy graficznych interfejsów użytkownika w Javie AWT do obsługi
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 12: GUI. Aplety. 5/19/2013 S.Deniziak:Programowanie obiektowe 1 Pakiety graficzne w Javie AWT (Abstract Window Toolkit) Swing Java 1.1 Java 2.0 Java 2D Java 3D Java Media
Bardziej szczegółowoJava niezbędnik programisty spotkanie nr 12. Graficzny interfejs użytkownika
Java niezbędnik programisty spotkanie nr 12 Graficzny interfejs użytkownika 1 Graphical User Interface (GUI) Abstract Window Toolkit Swing słabo się prezentuje mało obiektowy projekt i implementacja zajęły
Bardziej szczegółowoMateriał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com GUI-Swing Wstęp do tworzenia prostych aplikacji z interfejsem graficznym (GUI) przy pomocy Swing, rysowanie prostych
Bardziej szczegółowoProgramowanie w języku JAVA. Wykład IV Swing - GUI
Programowanie w języku JAVA Wykład IV Swing - GUI Architektura 2 JFC (Java Foundation Classes) zbiór klas do budowy interfejsu graficznego użytkownika i interaktywności aplikacji Javy Komponenty Swing
Bardziej szczegółowoJakarta POI. POIFS obsługa dokumentów OLE 2, HSSF dokumenty w formacie Excel'a, HWPF proste dokumenty w formacie Word 97,
1 Jakarta POI Jakarta POI (http://jakarta.apache.org/poi/index.html) jest zbiorem narzędzi umożliwiającym prace z dokumentami zapisanymi w formatach wspieranych przez Microsoft. W skład POI wchodzą następujące
Bardziej szczegółowoJava: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak
Java: otwórz okienko Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU klasy wewnętrzne, lokalne i anonimowe biblioteka AWT zestaw Swing JFrame JPanel komponenty obsługa zdarzeń
Bardziej szczegółowoJęzyk JAVA podstawy. Wykład 5, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 5, część 1 Jacek Rumiński 1 Język JAVA podstawy Plan wykładu: 1. Wprowadzenie do grafiki w Javie 2. Budowa GUI: komponenty, kontenery i układanie komponentów 3. Budowa GUI: obsługa
Bardziej szczegółowoSWING c.d. przydatne narzędzia: JFileChooser, JOptionPane. drag'n drop, menu kontekstowe.
SWING c.d. ZAGADNIENIA: przydatne narzędzia: JFileChooser, JOptionPane. drag'n drop, menu kontekstowe. MATERIAŁY: http://docs.oracle.com/javase/tutorial/uiswing/dnd/ http://th-www.if.uj.edu.pl/zfs/ciesla/
Bardziej szczegółowoSWING ZAGADNIENIA: wprowadzenie, kontenery I komponenty, LayoutManager, komponenty tekstowe.
SWING ZAGADNIENIA: wprowadzenie, kontenery I komponenty, LayoutManager, komponenty tekstowe. MATERIAŁY: http://docs.oracle.com/javase/tutorial/uiswing/ http://th-www.if.uj.edu.pl/zfs/ciesla/ JĘZYK JAVA,
Bardziej szczegółowoTworzenie elementów graficznych
Tworzenie elementów graficznych Elementy graficzne w Javie pozwalające tworzyć Graficzny Interfejs Użytkownika (GUI) możemy podzielić na dwie grupy: AWT (Abstract Window Toolkit) bibliotek klas służąca
Bardziej szczegółowoKurs programowania. Wykład 4. Wojciech Macyna. 23 marca 2016
Wykład 4 23 marca 2016 Graficzny interfejs użytkownika - GUI W Javie możemy skorzystać z dwóch bibliotek do tworzenia graficznych interfejsów: AWT (Abstract Windowing Toolkit) podstawowa biblioteka będaca
Bardziej szczegółowoInteraktywne aplety obsługa zdarzeń, uruchamianie apletu przez przeglądarkę lub maszynę wirtualną Javy. Tworzenie łącz w apletach
Interaktywne aplety obsługa zdarzeń, uruchamianie apletu przez przeglądarkę lub maszynę wirtualną Javy. Tworzenie łącz w apletach Przykład 1 a) Program ProstyAplet2.class uruchomiony jako aplet w przeglądarce
Bardziej szczegółowoAplikacja wielowątkowa prosty komunikator
Aplikacja wielowątkowa prosty komunikator Klient 0 (host 1) Wątek 0 Komponent serwera Wątek pochodny 3.1 Klient 1 (host 2) Wątek 1 Komponent serwera Wątek pochodny 3.2 Host 4 Serwer Wątek 3 Klient 2 (host
Bardziej szczegółowo9. Swing wprowadzenie
9.1 Komponenty 9. Swing wprowadzenie 9.2 Przykłady tworzenia GUI W. Kasprzak: Programowanie zdarzeniowe 9-1 9.1 Komponenty 1) Przegląd komponentów Swing-a 1. Kontenery główne 2. Kontenery ogólne pośredniego
Bardziej szczegółowoProgramowanie w języku Java
Programowanie w języku Java Wykład 9: JFC/Swing projektowanie GUI Widok komponentów Java (Metal) MS Windows OSF/Motif GTK+ Programowanie w języku Java 2 1 Komponenty (1) Kontenery główne: JApplet JDialog
Bardziej szczegółowoWykład 3: Projektowanie graficznych interfejsów użytkownika w Java
Programowanie komputerów Wykład 3: Projektowanie graficznych interfejsów użytkownika w Java dr inż. Walery Susłow walery.suslow@ie.tu.koszalin.pl Graficzny interfejs użytkownika GUI (Graphical User Interface),
Bardziej szczegółowoJAVA. Strumienie wejścia i wyjścia. Pliki - zapis i odczyt
JAVA Pliki - zapis i odczyt Opracował: Andrzej Nowak Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Strumienie wejścia i wyjścia Strumienie wejścia
Bardziej szczegółowoPierwsza ramka. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 10
Pierwsza ramka dr Anna Łazińska, WMiI UŁ Podstawy języka Java https://www.javatpoint.com 1 / 10 Pierwsza ramka - kod package myframe1; import javax.swing.jframe; import javax.swing.jlabel; class MyFrame1
Bardziej szczegółowoProgramowanie w języku Java WYKŁAD
Programowanie w języku Java WYKŁAD dr inż. Piotr Zabawa Certyfikowany Konsultant IBM/Rational e-mail: pzabawa@pk.edu.pl www: http://www.pk.edu.pl/~pzabawa 05.05.2014 WYKŁAD 11 GUI w Swing cz. 1 Wykład
Bardziej szczegółowoSWING. dr Jarosław Skaruz http://jareks.ii.uph.edu.pl jaroslaw@skaruz.com
SWING dr Jarosław Skaruz http://jareks.ii.uph.edu.pl jaroslaw@skaruz.com O czym będzie? Przykład aplikacji z GUI Zarządcy układu Obsługa zdarzeń Komponenty GUI Wprowadzenie obiektowy paradygmat do tworzenia
Bardziej szczegółowoAplikacje w Javie wykład 12 Programowanie GUI
Aplikacje w Javie wykład 12 1 Programowanie GUI Treści prezentowane w wykładzie zostały oparte o: Barteczko, JAVA Programowanie praktyczne od podstaw, PWN, 2014 http://docs.oracle.com/javase/8/docs/ C.
Bardziej szczegółowoJava biblioteka Swing
Java biblioteka Swing Podstawowe klasy Klasa JComponent Klasa JFrame Klasa JFrame Klasa bazowa dla okien Ważne właściwości: settitle ( ) setdefaultcloseoperation ( ) setsize ( ), setlocation ( ) setlayout
Bardziej szczegółowoJęzyki i metody programowania Java Obsługa zdarzeń - przykłady
Języki i metody programowania Java Obsługa zdarzeń - przykłady wg https://docs.oracle.com/javase/tutorial/uiswing/components/ind ex.html Autor Dr inż. Zofia Kruczkiewicz Rodzaje słuchaczy zdarzeń Wydarzenia
Bardziej szczegółowoAplikacja wielow tkowa prosty komunikator
Aplikacja wielow tkowa prosty komunikator Klient 0 (host 1) W tek 0 Komponent serwera W tek pochodny 3.1 Klient 1 (host 2) W tek 1 Komponent serwera W tek pochodny 3.2 Host 4 Serwer W tek 3 Klient 2 (host
Bardziej szczegółowoWykład 4_1. Interaktywne aplety obsługa zdarzeń, uruchamianie apletu przez przeglądarkę lub maszynę wirtualną Javy.
Wykład 4_1 Interaktywne aplety obsługa zdarzeń, uruchamianie apletu przez przeglądarkę lub maszynę wirtualną Javy. Przykład 1 a) Program ProstyAplet2.class uruchomiony jako aplet w przeglądarce (appletviewer)
Bardziej szczegółowoProgramowanie graficznego interfejsu użytkownika. Wykład 8. Maciej Wołoszyn 10 maja 2006
Programowanie graficznego interfejsu użytkownika Wykład 8 Maciej Wołoszyn mailto:woloszyn@fatcat.ftj.agh.edu.pl 10 maja 2006 Spis treści 1 JFC/Swing 1 1.1 Prosty przykład.................................
Bardziej szczegółowoTworzenie projektu zawierającego aplet w środowisku NetBeans. lab1. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych
Tworzenie projektu zawierającego aplet w środowisku NetBeans. lab1 Dr inż. Zofia Kruczkiewicz Etap 1 - Tworzenie apletu 1. Wybierz z menu File\ New Project. Na formularzu New Project wybierz w oknie Categories
Bardziej szczegółowo1. Zakładanie projektu Katalog typu Java Class Library do przechowywania obiektowego modelu danych projekt należy do warstwy biznesowej
Przekształcanie aplikacji internetowej typu JSF wygenerowanej na podstawie bazy danych do aplikacji typu EE zawierającej dodatkowo klienta typu Enterprise. Zofia Kruczkiewicz 1. Zakładanie projektu Katalog
Bardziej szczegółowoZaawansowane programowanie obiektowe. Wykład 3 część 2
Zaawansowane programowanie obiektowe Wykład 3 część 2 Środowisko Eclipse Tworzenie projektu File New project Java project Dodanie klasy File New Class Praca w Eclipse Przykład 1 import java.awt.*; public
Bardziej szczegółowoMarcin Luckner Warsaw University of Technology Faculty of Mathematics and Information Science
Marcin Luckner Warsaw University of Technology Faculty of Mathematics and Information Science mluckner@mini.pw.edu.pl http://www.mini.pw.edu.pl/~lucknerm Abstract Window Toolkit Przekazuje tworzenie i
Bardziej szczegółowo1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1)
Instrukcja tworzenia aplikacji EE na podstawie aplikacji z dostępem do bazy danych, prezentowanej na zajęciach lab.5 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom. Projektowanie i wdrażanie
Bardziej szczegółowoPołączenia między bazami danych i programem w języku Java część 2
Połączenia między bazami danych i programem w języku Java część 2 import java.sql.*; import javax.swing.*; import java.util.*; import javax.swing.*; class Okno extends JFrame JLabel elista= new JLabel
Bardziej szczegółowoSWING ZAGADNIENIA: wprowadzenie, kontenery i komponenty, LayoutManager, komponenty tekstowe. inne przydatne komponenty.
SWING ZAGADNIENIA: wprowadzenie, kontenery i komponenty, LayoutManager, komponenty tekstowe. inne przydatne komponenty. MATERIAŁY: http://docs.oracle.com/javase/tutorial/uiswing/ http://th-www.if.uj.edu.pl/zfs/ciesla/
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 7 Marcin Młotkowski 8 kwietnia 2015 Plan wykładu Z życia programisty, część 1 1 Z życia programisty, część 1 2 3 Z życia programisty, część 2 Model View Controller MVC w
Bardziej szczegółowoBartosz Jachnik - Kino
Bartosz Jachnik - Kino I. Opis bazy Prezentowana baza danych stworzona została na potrzeby prowadzenia kina. Zawiera ona 8 tabel, które opisują filmy grane w danym okresie w kinie, wraz ze szczegółowym
Bardziej szczegółowoKontynuacja wprowadzenia do SWING. Przykłady implementacji wybranych komponentów
Kontynuacja wprowadzenia do SWING Przykłady implementacji wybranych komponentów JTextFieldDemo.java JTextField pole2 = new JTextField( wpisz cos i wcisnij Enter"); JTextField pole2 = new JTextField(20);
Bardziej szczegółowoHenryk Budzisz. materiały przygotowane w ramach projektu ZPORR nr POKL /08-00
Henryk Budzisz ZPORR Koszalin 2009 Wykaz ćwiczeo Ćw.1. Przycisk zamykajacy Ćw.2. Strzałka blokowa Uwaga: Ćwiczenia wymagają zainstalowania środowiska programistycznego NetBeans. Ćwiczenie 1 Zadania: zdefiniować
Bardziej szczegółowoJęzyki Programowania II Wykład 7. Java Swing
Języki Programowania II Wykład 7 Java Swing GUI w Javie Abstract Window Toolkit (AWT) podstawowy zbiór komponentów opartych na zarządcy okien wspólny mianownik funkcjonalności ze wszystkich platform rozbudowany
Bardziej szczegółowoGrafika i komunikacja człowiek komputer Laboratorium. Część 1: Wstęp do grafiki
UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI Opracował: mgr inż. Przemysław Pardel, dr hab. Bogdan Kwolek v1.01 2010 Grafika i komunikacja człowiek komputer Laboratorium Część 1: Wstęp do grafiki ZAGADNIENIA
Bardziej szczegółowoProgramowanie Obiektowe Java
Programowanie Obiektowe Java Małgorzata Janik Zakład Fizyki Jądrowej malgorzata.janik@pw.edu.pl http://java.fizyka.pw.edu.pl/ Projekt W drugim tygodniu zajęć należy wysłać prowadzącemu e-mail z informacją
Bardziej szczegółowoInterfejs graczny w Javie.
Interfejs graczny w Javie. Robert A. Kªopotek r.klopotek@uksw.edu.pl Wydziaª Matematyczno-Przyrodniczy. Szkoªa Nauk cisªych, UKSW 20.04.2017 Interfejs graczny w Javie Java dostarcza dwóch podstawowych
Bardziej szczegółowoTworzenie i obsługa graficznego interfejsu uŝytkownika
Tworzenie i obsługa graficznego interfejsu uŝytkownika Programowanie w środowisku rozproszonym. Wykład 3. Aplety aplikacje uruchamiane w środowisku przeglądarki - przykład import java.applet.applet; import
Bardziej szczegółowoIteracyjno-rozwojowy cykl oprogramowania 4
Iteracyjno-rozwojowy cykl oprogramowania 4 I. Przykład pierwszy programu z warstwą klienta (interfejs graficzny użytkownika) i warstwą biznesową dostępną za pomocą metod klasy Uchwyt /** * * *
Bardziej szczegółowoĆwiczenia 9 - Swing - część 1
Ćwiczenia 9 - Swing - część 1 Utwórz nowy projekt wybierając: File->New Project->Java Application, przy czym odznacz opcję Create Main Class. Kliknij prawym przyciskiem myszy na podfolder Source Packages
Bardziej szczegółowoOperatory. Składnia. Typy proste. Znaki specjalne
Składnia Operatory komentarze // /* */ /** */ litery A.. Z, a.. z, \udddd dddd>00c0 identyfikatory pierwszy znak= _, lub litera, następne dodatkowo 0.. 9 liczby dziesiętne Ddddd (D 0) liczby ósemkowe 0dddd
Bardziej szczegółowoProgramowanie w środowisku graficznym- wykład 9 Programowanie GUI cz1
1 Programowanie w środowisku graficznym- wykład 9 Programowanie GUI cz1 Treści prezentowane w wykładzie zostały oparte o: Barteczko, JAVA Programowanie praktyczne od podstaw, PWN, 2014 http://docs.oracle.com/javase/8/docs/
Bardziej szczegółowosetdefaultcloseoperation(jframe.exit_on_close);//obsługa zamykania aplikacji setvisible(true); } //wyświetlenie okna
Programowanie wizualne- pakiet Swing 1. Główny obiekt interfejsu uŝytkownika - obiekt klasy JFrame 1.1. Przykład prostej aplikacji Zdefiniowanie klasy dziedziczącej po klasie JFrame z pakietu Swing (lub
Bardziej szczegółowoJęzyk Java. Rysowanie GUI Określanie wyglądu komponentów
Język Java Rysowanie GUI Określanie wyglądu komponentów Rysowanie GUI Rysowanie GUI w Swingu np. przy pierwszym wyświetleniu przy ponownym odsłonięciu przy zmianach stanu programu Kolejność rysowania -
Bardziej szczegółowoProgramowanie Multimediów. Programowanie Multimediów JAVA. grafika w JAVA 2D API [1]
JAVA grafika w JAVA 2D API [1] Wprowadzenie Java2D API w sposób znaczny rozszerza możliwości graficzne AWT. Po pierwsze umożliwia zarządzanie i rysowanie elementów graficznych o współrzędnych zmiennoprzecinkowych
Bardziej szczegółowoJava 2D. dr Jarosław Skaruz http://jareks.ii.uph.edu.pl jaroslaw@skaruz.com
Java 2D dr Jarosław Skaruz http://jareks.ii.uph.edu.pl jaroslaw@skaruz.com Wprowadzenie Java 2D API umożliwia pracę z obrazami, tekstem i grafiką jako rozszerzenie AWT Zakres dostarczanej funkcjonalności:
Bardziej szczegółowoInformatyka I. Interfejs GUI wysokiego poziomu. Biblioteka Swing. Programowanie zdarzeniowe. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Interfejs GUI wysokiego poziomu. Biblioteka Swing. Programowanie zdarzeniowe. dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Interfejs GUI wysokiego poziomu Pojęcie
Bardziej szczegółowoJava Foundation Clases. Tworzenie graficznych interfejsów użytkownika (GUI) w Javie
Java Foundation Clases Tworzenie graficznych interfejsów użytkownika (GUI) w Javie Jacek Starzyński, IETiSIP PW, 2006 Tematyka: Co to jest JFC? Swing zadania i struktura Szkielet programu Model zdarzeń
Bardziej szczegółowoProgramowanie graficznych interfejsów uŝytkownika
Programowanie obiektowe The Java Tutorials http://java.sun.com/docs/books/tutorial/ui/index.html Programowanie graficznych interfejsów uŝytkownika Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki
Bardziej szczegółowoProgramowanie zdarzeniowe
Programowanie zdarzeniowe I. Podstawy obsługi zdarzeń Małgorzata Prolejko ZDA JA16Z03 Plan Pojęcie zdarzenia Klasy i obiekty słuchaczy Rejestracja słuchaczy Obsługa naciśnięcia przycisku Rozpoznawanie
Bardziej szczegółowoJava SE Laboratorium nr 5. Temat: Obsługa zdarzeń
Java SE Laboratorium nr 5 Temat: Obsługa zdarzeń 1 Obsługa zdarzeń 1. Definicja i idea Każda z aplikacji zmienia swój stan (reaguje) pod wpływem zdarzeń. Mogą to być zdarzenia generowane przez urządzenia
Bardziej szczegółowoZaawansowane aplikacje WWW - laboratorium
Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w
Bardziej szczegółowoWykład 4_2 część druga. Iteracyjno-rozwojowy cykl oprogramowania 4
Wykład 4_2 część druga Iteracyjno-rozwojowy cykl oprogramowania 4 I. Przykład pierwszy programu z warstwą klienta (interfejs graficzny użytkownika) i warstwą biznesową dostępną za pomocą metod klasy
Bardziej szczegółowoPROGRAMOWANIE APLIKACJI MULTIMEDIALNYCH
PROGRAMOWANIE APLIKACJI MULTIMEDIALNYCH JĘZYK JAVA wykład 1 GUI GRAFICZNY INTERFEJS UŻYTKOWNIKA Prowadzący: Tomasz Kowalski Rozwój GUI w Java 2 Biblioteki GUI (Graphical User Interface) w Java 1 miały
Bardziej szczegółowoObsługa zdarzeń w JAVIE ((ActionListener,ItemListener,TableModelListener))
Obsługa zdarzeń w JAVIE ((ActionListener,ItemListener,TableModelListener)) "Sercem" działania aplikacji z graficznymi interfejsami użytkownika jest obsluga zdarzeń. JMenu, JToolBar, JButton Reguły ogólne
Bardziej szczegółowoPodstawy Swing. Tomasz Borzyszkowski
Podstawy Swing Tomasz Borzyszkowski Wprowadzenie Już Java 1.0 zawierała bibliotekę AWT (Abstract Window Toolkit) służącą do oprogramowania GUI. Kolejne wersje Java również wspierały to rozwiązanie. Swing
Bardziej szczegółowoSwing ćwiczenia 2 opis
Swing ćwiczenia 2 opis Zad 1. a) Dołożyliśmy nowy obszar tekstowy JTextArea i w jego właściwości Document ustawiliśmy, że ma wspólny dokument (model-treść) z naszym pierwszym JTextArea. Zauważmy, że wpisując
Bardziej szczegółowoWzorzec projektowy Obserwator idiomatyczne rozwiązanie
Wzorzec projektowy Obserwator idiomatyczne rozwiązanie Observator Pattern Simply, the Observer pattern allows one object (the observer) to watch another (the subject). The Observer pattern allows the subject
Bardziej szczegółowoAplikacje w Javie wykład 12 Programowanie GUI
Aplikacje w Javie wykład 12 1 Programowanie GUI Treści prezentowane w wykładzie zostały oparte o: Barteczko, JAVA Programowanie praktyczne od podstaw, PWN, 2014 http://docs.oracle.com/javase/8/docs/ http://docs.oracle.com/javase/9/docs/
Bardziej szczegółowoJAVA 2: PROGRAMY Z GRAFICZNYM INTERFEJSEM UŻYTKOWNIKA 1. WSTĘP
JAVA 2: PROGRAMY Z GRAFICZNYM INTERFEJSEM UŻYTKOWNIKA 1. WSTĘP Jest to wprowadzenie do pisania aplikacji GUI w języku Java przy użyciu interfejsu API Swing. Po przeczytaniu książki możesz pisać małe aplikacje
Bardziej szczegółowoJęzyki i metody programowania Java Lab1 https://docs.oracle.com/javase/tutorial/ Zofia Kruczkiewicz
Języki i metody programowania Java Lab1 https://docs.oracle.com/javase/tutorial/ Zofia Kruczkiewicz Zadanie 1. Wykonanie projektu Java SE w środowisku Netbeans- File/New Project W formularzu New Project
Bardziej szczegółowoProgramowanie Multimediów. Programowanie Multimediów JAVA. programowanie GUI. (AWT i Swing) [1]
[1] JAVA programowanie GUI (AWT i Swing) [2] Wprowadzenie Pierwotnym GUI dla Javy był AWT (Abstract Window Toolkit) wg legendy powstał w miesiąc... Swing dodano dopiero w wersji Javy 1.2 (przełom 1997/98)
Bardziej szczegółowoBezpieczne uruchamianie apletów wg
Bezpieczne uruchamianie apletów wg http://java.sun.com/docs/books/tutorial/security1.2/ Zabezpieczenia przed uruchamianiem apletów na pisanych przez nieznanych autorów 1) ograniczenie możliwości odczytywania,
Bardziej szczegółowoSposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.
Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby
Bardziej szczegółowoProgramowanie zdarzeniowe
Programowanie zdarzeniowe III. Zaawansowana obsługa zdarzeń Małgorzata Prolejko ZDA JA16Z03 Plan Hierarchia zdarzeń Typy zdarzeń niskiego poziomu Zdarzenia okna Obsługa kliknięcia myszy Adaptery Zdarzenia
Bardziej szczegółowoJAVA Materiały do laboratorium III wersja niezaawansowana Marcin Borkowski WSEiZ czerwiec 2006
1 Najprostszy program okienkowy 1.1 Kod: JAVA Materiały do laboratorium III wersja niezaawansowana Marcin Borkowski WSEiZ czerwiec 2006 public class okno1 extends Frame public okno1() ); okno1 o = new
Bardziej szczegółowoComparable<Klasa_uzytkownika>
Przechowywanie obiektów w pamięci programu Część II (obiekty typów definiowanych przez użytkownika) Obiekty typów definiowanych przez użytkownika muszą być przystosowane do przechowywania w pojemnikach
Bardziej szczegółowoGraphic User Interfaces pakiet Swing
Graphic User Interfaces pakiet Swing Streszczenie Celem wykładu jest zaprezentowanie podstaw tworzenia graficznych interfejsów przy użyciu pakietu Swing. Czas wykładu 90 minut. Można śmiało stwierdzić,
Bardziej szczegółowoJęzyki i metody programowania Java Lab4 podejście obiektowe, zastosowanie pojemników
Języki i metody programowania Java Lab4 podejście obiektowe, zastosowanie pojemników https://docs.oracle.com/javase/tutorial/ http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/javazk4_2.pdf
Bardziej szczegółowoWątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().
Wątki Streszczenie Celem wykładu jest wprowadzenie do obsługi wątków w Javie. Czas wykładu 45 minut. Definiowanie wątków jako klas potomnych Thread Nadpisanie metody run(). class Watek extends Thread public
Bardziej szczegółowoJęzyki i metody programowania Java Lab6 Budowa interfejsu graficznego użytkownika (GUI Graphical User Interfaces) z wykorzystaniem pakietu Swing
Języki i metody programowania Java Lab6 Budowa interfejsu graficznego użytkownika (GUI Graphical User Interfaces) z wykorzystaniem pakietu Swing Strona do pobrania tutoriala: http://www.oracle.com/technetwork/java/javase/java-tutorial-downloads-2005894.html
Bardziej szczegółowoLaboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz
Aplikacja internetowa zbudowana w oparciu o środowisko Visual Web Java Server Faces. Zarządzanie obiektami typu SesionBeans, RequestBeen i ApplicationBeans, Laboratorium 1 Wzorce oprogramowania lab1, Okres
Bardziej szczegółowoProgramowanie komponentowe
Programowanie komponentowe Aplety w aplikacjach typu Visual Web Java Server Faces Autor: Struktura wykładu 1. Tworzenie uniwersalnego programu graficznego 2. Program typu Java Application wykonanie programu
Bardziej szczegółowoJava Platform Micro Edition
Java Platform Micro Edition Instalacja środowiska programistycznego Java Platform Micro Edition Software Development Kit 3.0 for Windows z lokalizacji http://www.oracle.com/technetwork/java/javame/downloads/sdk30-jsp-139759.html
Bardziej szczegółowoPodstawowe informacje o apletach
Podstawowe informacje o apletach 1 Co to są aplety? Aplety (ang. applets) są to programy napisane w Javie i uruchamiane w przeglądarce WWW po stronie klienta. Posiadają następujące cechy: wymagają obecności
Bardziej szczegółowoKurs programowania. Wykład 5. Wojciech Macyna. 31 marzec 2016
Wykład 5 31 marzec 2016 Klasa java.awt.panel Klasa Panel jest równocześnie komponentem (czyli może być wstawiana tam gdzie i inne komponenty) i kontenerem (można do niej wstawiać inne komponenty). Panel
Bardziej szczegółowoZaawansowane aplikacje internetowe - laboratorium Web Services (część 1).
Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1). Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię usług sieciowych (ang. Web Services).
Bardziej szczegółowoJAVA W SUPER EXPRESOWEJ PIGUŁCE
JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie
Bardziej szczegółowoJęzyk JAVA podstawy. Wykład 5, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 5, część 3 1 Język JAVA podstawy Plan wykładu: 1. Wprowadzenie do grafiki w Javie 2. Budowa GUI: komponenty, kontenery i układanie komponentów 3. Budowa GUI: obsługa zdarzeń
Bardziej szczegółowoLaboratorium z informatyki sem. III/ćw. 2 Wydział Transportu PW /19 MATERIAŁY POMOCNICZE DO ĆWICZENIA 2
MATERIAŁY POMOCNICZE DO ĆWICZENIA 2 Klasa JTabbedPane pakietu swing Kontener klasy JTabbedPane umożliwia pracę na wielu stronach z zakładkami służącymi do wyboru strony aktualnie wyświetlanej. Zakładki
Bardziej szczegółowoProgramowanie Obiektowe Java
Programowanie Obiektowe Java Małgorzata Janik Zakład Fizyki Jądrowej malgorzata.janik@pw.edu.pl http://java.fizyka.pw.edu.pl/ Projekty Szczegoły na temat projektów można znaleźć na stronie: http://java.fizyka.pw.edu.pl/projekty
Bardziej szczegółowoW porównaniu do tekstowego interfejsu użytkownika
Literatura Graficzne Interfejsy Użytkownika dr inż. Piotr Zielniewicz Instytut Informatyki Politechnika Poznańska J. Tidwell, Designing Interfaces: Patterns for Effective Interaction Design,, O'Reilly
Bardziej szczegółowoRysowanie prostych obiektów graficznych przy użyciu biblioteki AWT (Abstract Window Toolkit)
Rysowanie prostych obiektów graficznych przy użyciu biblioteki AWT (Abstract Window Toolkit) Biblioteka Abstrakcyjnych Narzędzi Okienkowych AWT (Abstract Window Toolkit) jako historycznie pierwsza w JDK
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych
Bardziej szczegółowo4. W konstruktorze klasy Grafika wywołaj metodę określającą rozmiary ramki oraz ustaw kolor tła metodą setbackground():
INSTRUKCJA DO ĆWICZENIA 2 Aplikacja zawiera przykłady ilustrujące wybrane metody graficzne klasy Graphics (powtórzenie) oraz klasy Graphics2D. Tworzenie własnej klasy, tworzącej wieloboki o zadanym kształcie
Bardziej szczegółowoProgramowanie w języku Java
Programowanie w języku Java Wykład 4: Programowanie rozproszone: TCP/IP, URL. Programowanie sieciowe w Javie proste programowanie sieciowe (java.net) na poziomie UDP na poziomie IP na poziomie URL JDBC
Bardziej szczegółowoZaawansowane aplikacje internetowe laboratorium
Zaawansowane aplikacje internetowe laboratorium Web Services (część 1). Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię usług sieciowych (ang. Web Services).
Bardziej szczegółowoKurs programowania aplikacji bazodanowych
Wykład 2 Instytut Informatyki Uniwersytet Wrocławski Plan wykładu Połączenie za pomocą JNDI i DataSource Połączenie za pomocą JNDI i DataSource Krótki wstęp do usług katalogowych Dotychczas w celu uzyskania
Bardziej szczegółowo