Avatar billede mannik Nybegynder
22. februar 2004 - 19:01 Der er 3 kommentarer og
1 løsning

åbne nyt vindue

Hvordan åbner jeg et nyt vindue ved at klikke på en Jbutton?
Kan jeg evt. lave det nye vindue som et nyt project og så kalde dette fra knappen? I det nye vindue skal jeg have nogle indtastningsfelter
Avatar billede arne_v Ekspert
22. februar 2004 - 19:04 #1
Du laver en nyt objekt af typen JFrame eller en klasse some xtender JFrame
og kalder show på den.
Avatar billede arne_v Ekspert
22. februar 2004 - 19:05 #2
Jeg havde dette eksempel liggende:

import java.awt.*;
import java.awt.event.*;

import java.util.*;

import javax.swing.*;

public class FirstClass extends JFrame implements ActionListener {
  private JButton callsec;
  private JLabel data;
  private SecondClass sec;
  public FirstClass() {
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      getContentPane().setLayout(new GridLayout(1, 2));
      callsec = new JButton("Open Second");
      callsec.addActionListener(this);
      getContentPane().add(callsec);
      data = new JLabel("Not updated yet");
      getContentPane().add(data);
      pack();
  }
  public void update() {
      data.setText("I am updated " + new Date());
  }
  public void actionPerformed(ActionEvent ev) {
      sec = new SecondClass(this);
      sec.show();
  }
  public static void main(String[] args) {
      FirstClass f = new FirstClass();
      f.show();
  }
}

class SecondClass extends JFrame implements ActionListener {
  private JButton setfirst;
  private JButton back;
  private FirstClass first;
  public SecondClass(FirstClass first) {
      this.first = first;
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      getContentPane().setLayout(new GridLayout(2, 1));
      setfirst = new JButton("Update");
      setfirst.addActionListener(this);
      getContentPane().add(setfirst);
      back = new JButton("Close");
      back.addActionListener(this);
      getContentPane().add(back);
      pack();
  }
  public void actionPerformed(ActionEvent ev) {
      if (ev.getSource() == setfirst) {
        first.update();
      }
      if (ev.getSource() == back) {
        dispose();
      }
  }
}
Avatar billede arne_v Ekspert
22. februar 2004 - 19:05 #3
og et svar
Avatar billede mannik Nybegynder
22. februar 2004 - 19:35 #4
Tak Arne, det ser jo ud til at dække 8o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester