Avatar billede zer0c00l Juniormester
26. december 2007 - 15:58 Der er 5 kommentarer og
1 løsning

3 knapper til samme textarea. Hvordan?

Hej eksperter..

Jeg skal lave et program, hvor der i toppen kan trykkes på 3 forskellige knapper. Nedenunder disse knapper skal der være et textarea, der skifter indhold, alt efter hvilken af de 3 knapper, der trykkes på. Dvs. textarea'et skal genbruges.

Grafisk ser det således ud:

Sommer    Vinter    Efterår

-------------------------------
| Om sommeren er det som regel  |
| varmt. Det er der mange      |
| mennesker, som godt kan lige. |
| Desuden er der en del dyr    |
| i skoven og bananer i ovnen.  |
|                              |
-------------------------------

Er der nogle kloge hoveder herinde, der kan hjælpe mig med det?

Venlig hilsen
/Zer0c00l
Avatar billede arne_v Ekspert
26. december 2007 - 16:49 #1
Et JTextArea, tre JButton's og samme actionPerformed metode for de tre der tester på hvilken
der er klikket og kalder setText på JTextArea med forskellig tekst.
Avatar billede zer0c00l Juniormester
26. december 2007 - 16:56 #2
Præcis. Kan jeg få dig til at sætte koden op?
Avatar billede arne_v Ekspert
26. december 2007 - 17:41 #3
Jeg håber ikke at det er en opgave du har fået.

package december;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;

public class G extends JFrame implements ActionListener {
    private JButton btn1 = new JButton("1");
    private JButton btn2 = new JButton("2");
    private JButton btn3 = new JButton("3");
    private JTextArea ta = new JTextArea();
    public G() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        getContentPane().setLayout(new BorderLayout());
        btn1.addActionListener(this);
        btn2.addActionListener(this);
        btn3.addActionListener(this);
        ta.setPreferredSize(new Dimension(200, 100));
        JPanel top = new JPanel();
        top.setLayout(new GridLayout(1, 3));
        top.add(btn1);
        top.add(btn2);
        top.add(btn3);
        getContentPane().add(top, BorderLayout.NORTH);
        getContentPane().add(ta, BorderLayout.CENTER);
        pack();
    }
    public void actionPerformed(ActionEvent e) {
        if(e.getSource() == btn1) {
            ta.setText("Dette er nummer 1");
        } else if(e.getSource() == btn2) {
            ta.setText("Dette er nummer 2");
        } else if(e.getSource() == btn3) {
            ta.setText("Dette er nummer 3");
        }
    }
    public static void main(String[] args) {
        JFrame g = new G();
        g.setVisible(true);
    }
}
Avatar billede zer0c00l Juniormester
26. december 2007 - 19:48 #4
Jeg lavede det på en lidt anden måde af vane, men det her var rigtig go' inspiration. 1000 tak.
Avatar billede zer0c00l Juniormester
26. december 2007 - 19:48 #5
smid et svar
Avatar billede arne_v Ekspert
26. december 2007 - 19:54 #6
kommer her
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

IT-JOB

Procon Solution A/S

Customer Success Consultant

Københavns Universitet

Identity management specialist

Netcompany A/S

Test Consultant

Formpipe Software A/S

Senior Product Manager