Laboratorio di  Programmazione.
AA 2007/08.

Esercitazione Java n. 3

Scopo di questa  sessione  è di   esplorare alcuni aspetti della programmazione di interfacce grafiche e di programmazione ad eventi.


     
  1. Il seguente programma Java realizza una semplice finestra mediante elementi derivata dalla classe JOptionPane del package swing.
    import javax.swing.*;

    public class Hello {
    public static void main(String[] args){
    JOptionPane.showMessageDialog(null,"Hello");
    }
    }


  2. Le seguenti classi realizzano una funzionalità  simile in modo più preciso e adattabile:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;

    public class Hello2 {
    public static class HelloDisplay extends JPanel {
    public void paintComponent(Graphics g){
    super.paintComponent(g);
    g.drawString("Hello",20,20);
    }
    }
    private static class ButtonHandler implements ActionListener{
    public void actionPerformed(ActionEvent e){
    System.exit(0);
    }
    }
    public static void main(String[] args){
    HelloDisplay displayPanel = new HelloDisplay();
    JButton okButton = new JButton("Ok");
    ButtonHandler listenerButton = new ButtonHandler();
    okButton.addActionListener(listenerButton);

    JPanel mainPanel = new JPanel();
    mainPanel.setLayout(new BorderLayout());
    mainPanel.add(displayPanel, BorderLayout.CENTER);
    mainPanel.add(okButton, BorderLayout.SOUTH);

    JFrame window = new JFrame("Test");
    window.setContentPane(mainPanel);
    window.setVisible(true);
    }
    }