Hvad skal jeg gøre for at få en knap aktiveret i java??? Jeg har opretter knapperne, og vil du gerne have den ene knap til at kunne gøre noget når jeg trykker på den, ved at kalde en metode... min kode ser således ud: import java.awt.*; import java.awt.event.*; import java.util.*;
class SimpelVindue extends Frame{
// opsætter hvordan dette vindue skal se ud public SimpelVindue() {
// bør egentlig kun stå til sidst ellers bliver // knapperne ikke vist før senere (minimize/maximize) // vindue setTitle("Opret Ansat"); setSize(450,450); setVisible(true);
// sæt altid layout setLayout(new BorderLayout());
// Lukker HELE programmet addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } } ); // Dette er ikke en hensigtsmæssig måde at implementere // vindues-lukning. SE i Vinduer.java eller // AvancedVinduer.java
// Lede tekst til vindue Label labVelkommen = new Label("Her opretter, søger og ændrer du en medarbejder");
add("North", labVelkommen);
// oprettes til at 'fordele' knapperne Panel buttons = new Panel();
// set altid layout!! buttons.setLayout(new FlowLayout());
Button butOpret = new Button("Opret"); Button butGem = new Button("Gem"); Button butOpdater = new Button("Opdater"); Button butSoeg = new Button("Søg");
// knapperne sættes ind i Panel buttons.add("South", butOpret); buttons.add("South", butGem); buttons.add("South", butOpdater); buttons.add("South", butSoeg);
// sæt knapperne i panelet ind på vinduet add("South", buttons);
// LÆG mærke til at disse knapper 'bare' bliver vist // der sker ikke noget ved at trykke på dem // så skal du huske 1) addActionListener(this) // 2) implemenets ActionListener dvs. // actionPerformed-metoden
//Her bliver knappen aktiveret public void Action(ActionEvent butOpret) { butOpret.getSource() == System.out.println("DEN VIRKER!!"); }
setVisible(true); // skal til sidst } static public void main (String[] args){ new SimpelVindue(); } }
nogle der kan forklare det lidt enkelt.. er ikke en haj til java.. håber virkelig nogle kan hjælpe
Der er mange måder at gøre det på. En måde er følgende 1. tilføj "implements ActionListener" til din klasse definition 2. Gør dine Buttons globalt kendte for klasse 3. opret dine knapper og tilføj ActionListeneren til dem 4. tilføj metoden public void actionPerformed(ActionEvent e) til klassen. Når du implementerer ActionListener interfacet skal du have denne metode. 5. du kan nu reagere på ActionEvents i denne metode.
class SimpelVindue extends Frame implements ActionListener {
// opsætter hvordan dette vindue skal se ud
Button butGem;//global Button butOpret;
public SimpelVindue() {
// bør egentlig kun stå til sidst ellers bliver // knapperne ikke vist før senere (minimize/maximize) // vindue setTitle("Opret Ansat"); setSize(450,450); setVisible(true);
// sæt altid layout setLayout(new BorderLayout());
// Lukker HELE programmet addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } } ); // Dette er ikke en hensigtsmæssig måde at implementere // vindues-lukning. SE i Vinduer.java eller // AvancedVinduer.java
// Lede tekst til vindue Label labVelkommen = new Label("Her opretter, søger og ændrer du en medarbejder");
add("North", labVelkommen);
// oprettes til at 'fordele' knapperne Panel buttons = new Panel();
// set altid layout!! buttons.setLayout(new FlowLayout());
butOpret = new Button("Opret"); //tilføj actionListener butOpret.addActionListener(this);
butGem = new Button("Gem"); butGem.addActionListener(this); Button butOpdater = new Button("Opdater"); Button butSoeg = new Button("Søg");
// knapperne sættes ind i Panel buttons.add("South", butOpret); buttons.add("South", butGem); buttons.add("South", butOpdater); buttons.add("South", butSoeg);
// sæt knapperne i panelet ind på vinduet add("South", buttons);
// LÆG mærke til at disse knapper 'bare' bliver vist // der sker ikke noget ved at trykke på dem // så skal du huske 1) addActionListener(this) // 2) implemenets ActionListener dvs. // actionPerformed-metoden
class SimpelVindue extends Frame implements ActionListener {
// opsætter hvordan dette vindue skal se ud
Button butGem;//global Button butOpret;
public SimpelVindue() {
// bør egentlig kun stå til sidst ellers bliver // knapperne ikke vist før senere (minimize/maximize) // vindue setTitle("Opret Ansat"); setSize(450,450); setVisible(true);
// sæt altid layout setLayout(new BorderLayout());
// Lukker HELE programmet addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } } ); // Dette er ikke en hensigtsmæssig måde at implementere // vindues-lukning. SE i Vinduer.java eller // AvancedVinduer.java
// Lede tekst til vindue Label labVelkommen = new Label("Her opretter, søger og ændrer du en medarbejder");
add("North", labVelkommen);
// oprettes til at 'fordele' knapperne Panel buttons = new Panel();
// set altid layout!! buttons.setLayout(new FlowLayout());
butOpret = new Button("Opret"); //tilføj actionListener butOpret.addActionListener(this);
butGem = new Button("Gem"); butGem.addActionListener(this); Button butOpdater = new Button("Opdater"); Button butSoeg = new Button("Søg");
// knapperne sættes ind i Panel buttons.add("South", butOpret); buttons.add("South", butGem); buttons.add("South", butOpdater); buttons.add("South", butSoeg);
// sæt knapperne i panelet ind på vinduet add("South", buttons);
// LÆG mærke til at disse knapper 'bare' bliver vist // der sker ikke noget ved at trykke på dem // så skal du huske 1) addActionListener(this) // 2) implemenets ActionListener dvs. // actionPerformed-metoden
static public void main (String[] args) { new SimpelVindue(); } }
Synes godt om
Ny brugerNybegynder
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.