import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.File; class GUI { public static void main(String[] args) { // opprett et vindu JFrame vindu = new JFrame("GUI-vindu"); vindu.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // opprett et panel JPanel panel = new JPanel(); vindu.add(panel); // opprett et tekst-GUI-element JLabel tekst = new JLabel("tekst i GUI-programmet"); panel.add(tekst); // opprett en knapp (JButton) som utf?rer en oppgave (ActionListener, i dette tilfellet AvsluttProgram) JButton knapp = new JButton("Knapp"); AvsluttProgram ap = new AvsluttProgram(); knapp.addActionListener(ap); panel.add(knapp); // et tekstfelt-GUI-element, kan brukes til brukerinput JTextField tekstfelt = new JTextField("Dette er et tekstfelt", 30); panel.add(tekstfelt); tekstfelt.setText("annerledes tekstfelt"); String tekstfeltTekst = tekstfelt.getText(); System.out.println(tekstfeltTekst); knapp.setText("Avslutt program"); // filvelger JFileChooser filvelger = new JFileChooser(); // int returverdi = filvelger.showOpenDialog(null); // System.out.println(returverdi); // // // if (returverdi != 0) { // System.out.println("FileChooser fant ikke noen fil"); // System.exit(1); // } // // File fil = filvelger.getSelectedFile(); panel.setLayout(new GridLayout(2, 2)); TellerKnapp tellerKnapp = new TellerKnapp("0"); panel.add(tellerKnapp); panel.setLayout(new GridLayout(4, 1)); vindu.pack(); vindu.setVisible(true); } } class TellerKnapp extends JButton { private int teller = 0; public TellerKnapp(String tekst) { super(tekst); this.initGUI(); } class OekTeller implements ActionListener { @Override public void actionPerformed(ActionEvent e) { teller++; setText(String.valueOf(teller)); } } public void initGUI() { this.addActionListener(new OekTeller()); } } class AvsluttProgram implements ActionListener { @Override public void actionPerformed(ActionEvent e) { System.exit(0); } }