Tämmönen koodi:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Testi implements ActionListener {
JFrame kehys;
JPanel paneeli;
JButton painike1, painike2;
JLabel labeli1, labeli2;
public Testi() {
kehys = new JFrame("Testi");
kehys.setSize(new Dimension(200, 200));
kehys.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
paneeli = new JPanel(new GridLayout(2, 2));
lisaarojut();
kehys.getContentPane().add(paneeli, BorderLayout.CENTER);
kehys.pack();
kehys.setVisible(true);
}
private void lisaarojut() {
painike1 = new JButton("Testi 1");
painike2 = new JButton("Testi 2");
labeli1 = new JLabel("Et ole vielä painanut minua", SwingConstants.LEFT);
labeli2 = new JLabel("Et ole vielä painanut minua", SwingConstants.LEFT);
painike1.addActionListener(this);
painike2.addActionListener(this);
paneeli.add(painike1);
paneeli.add(labeli1);
paneeli.add(painike2);
paneeli.add(labeli2);
labeli1.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
labeli2.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
}
public void actionPerformed(ActionEvent evt) {
if (evt.getSource() == "painike1") {
labeli1.setText("Painoit minua jo. Kivaa!");
}
if (evt.getSource() == "painike2") {
labeli2.setText("Painoit minua jo. Kivaa!");
}
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
Testi juttu = new Testi();
}
});
}
}
Elikkäs, ton pitäs näyttää labeleissa teksti sitä
mukaan, kun noita painikkeita napsauttelee.
Kuitenkaan teksti ei näy. Miten tuon bugin voi
korjata?
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Testi implements ActionListener {
JFrame kehys;
JPanel paneeli;
JButton painike1, painike2;
JLabel labeli1, labeli2;
public Testi() {
kehys = new JFrame("Testi");
kehys.setSize(new Dimension(200, 200));
kehys.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
paneeli = new JPanel(new GridLayout(2, 2));
lisaarojut();
kehys.getContentPane().add(paneeli, BorderLayout.CENTER);
kehys.pack();
kehys.setVisible(true);
}
private void lisaarojut() {
painike1 = new JButton("Testi 1");
painike2 = new JButton("Testi 2");
labeli1 = new JLabel("Et ole vielä painanut minua", SwingConstants.LEFT);
labeli2 = new JLabel("Et ole vielä painanut minua", SwingConstants.LEFT);
painike1.addActionListener(this);
painike2.addActionListener(this);
paneeli.add(painike1);
paneeli.add(labeli1);
paneeli.add(painike2);
paneeli.add(labeli2);
labeli1.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
labeli2.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
}
public void actionPerformed(ActionEvent evt) {
if (evt.getSource() == "painike1") {
labeli1.setText("Painoit minua jo. Kivaa!");
}
if (evt.getSource() == "painike2") {
labeli2.setText("Painoit minua jo. Kivaa!");
}
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
Testi juttu = new Testi();
}
});
}
}
Elikkäs, ton pitäs näyttää labeleissa teksti sitä
mukaan, kun noita painikkeita napsauttelee.
Kuitenkaan teksti ei näy. Miten tuon bugin voi
korjata?
Vastaukset 1
Vanhimmat
Kokeiles tälläisiä rivejä:
if (evt.getSource() == painike1) {
...
if (evt.getSource() == painike2) {