Eli, nyt on jälleen kerran tekastu pieni ohjelma... mutta on yksi ongelma: Ohjelma kirjottaa tiettyyn kohtaan sen kirjaimen mitä painoit, mutta ei tallenna sitä, eli se pyyhkiytyy pois. Mitäs tonne pitäisi lisätä?? :) Kiitoksia avusta
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class MitaPainoin extends JFrame implements KeyListener {
JTextField keyText = new JTextField(80);
JLabel keyLabel = new JLabel("Paina jotain nappia");
JLabel labeli = new JLabel();
MitaPainoin() {
super("testi");
setSize(350, 100);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
keyText.addKeyListener(this);
BorderLayout bord = new BorderLayout();
setLayout(bord);
add(keyLabel, BorderLayout.NORTH);
add(keyText, BorderLayout.CENTER);
add(labeli);
setVisible(true);
}
public void keyTyped(KeyEvent input) {
char key = input.getKeyChar();
keyLabel.setText("Painoit " key);
}
public void keyPressed(KeyEvent txt) {
}
public void keyReleased(KeyEvent txt) {
}
public static void main(String[] arguments) {
MitaPainoin frame = new MitaPainoin();
}
}
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class MitaPainoin extends JFrame implements KeyListener {
JTextField keyText = new JTextField(80);
JLabel keyLabel = new JLabel("Paina jotain nappia");
JLabel labeli = new JLabel();
MitaPainoin() {
super("testi");
setSize(350, 100);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
keyText.addKeyListener(this);
BorderLayout bord = new BorderLayout();
setLayout(bord);
add(keyLabel, BorderLayout.NORTH);
add(keyText, BorderLayout.CENTER);
add(labeli);
setVisible(true);
}
public void keyTyped(KeyEvent input) {
char key = input.getKeyChar();
keyLabel.setText("Painoit " key);
}
public void keyPressed(KeyEvent txt) {
}
public void keyReleased(KeyEvent txt) {
}
public static void main(String[] arguments) {
MitaPainoin frame = new MitaPainoin();
}
}
Vastaukset 4
Vanhimmat
hankkia kavereita sieltä oppilaitoksesta niin voisit niiltä kysyä apua, varmasti joku osaa siellä paremmin auttaa?
Yläasteella ei taida olla mitään java-ihmisiä???
Alla on korjattu versio, jossa on korjattu hieman muutakin. Tuo tulostaa nyt ruudulle tekstin, eli sen mitä siihen teksti kenttään on kirjoitettu, sekä näppäimet mitä tekstikentässä on painettu, (huomaa että ne ovat eri asioita, kokeile painaa esim. pyyhkimis nappia niin huomaat mitä tarkoitan).
--- KORJATTU VERSIO ALKAA ---
import java.awt.BorderLayout;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class MitäPainoin extends JFrame implements KeyListener {
JTextField keyText = new JTextField(80);
JLabel keyLabel = new JLabel("Paina jotain nappia");
JLabel labeli = new JLabel(" ");
String painettu = "";
MitäPainoin() {
super("testi");
setSize(400, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
keyText.addKeyListener(this);
BorderLayout bord = new BorderLayout();
getContentPane().setLayout(bord);
getContentPane().add(keyLabel, BorderLayout.NORTH);
getContentPane().add(keyText, BorderLayout.CENTER);
getContentPane().add(labeli, BorderLayout.SOUTH);
setVisible(true);
}
public void päivitäLabeli() {
labeli.setText("Teksti: '" keyText.getText() "'\n Painallukset: " painettu);
}
public void keyTyped(KeyEvent input) {
painettu = painettu input.getKeyChar();
päivitäLabeli();
}
public void keyReleased(KeyEvent txt) {
päivitäLabeli();
}
public void keyPressed(KeyEvent txt) {
}
public static void main(String[] arguments) {
new MitäPainoin();
}
}
--- KORJATTU VERSIO LOPPUU ---
Kiitoksia. Toi auttoi :) Kiva, että tämmösiä ihmisiä löytyy, jotka viittivät auttaa.