Hallo !
Gleich zu beginn: Google und ein anderer Thread hat mir nicht geholfen.
Ich möchte gerne über eine Button Text aus einem Textfield lesen und diesen dann für die Darstellung eines Diagramms verwenden.
Nun zu meinem Problem: Wie, beziehungsweise wo, soll ich den ActionListener hinzufügen, so dass er richtig funktioniert ?
Derzeit habe ich den Listener unter der Paint Methode, man kann aber logischerweise nicht auf den StringBuffer zugreifen…
Ich hoffe ihr könnt mir helfen !
Hier mein derzeitiger Code:
Gleich zu beginn: Google und ein anderer Thread hat mir nicht geholfen.
Ich möchte gerne über eine Button Text aus einem Textfield lesen und diesen dann für die Darstellung eines Diagramms verwenden.
Nun zu meinem Problem: Wie, beziehungsweise wo, soll ich den ActionListener hinzufügen, so dass er richtig funktioniert ?
Derzeit habe ich den Listener unter der Paint Methode, man kann aber logischerweise nicht auf den StringBuffer zugreifen…
Ich hoffe ihr könnt mir helfen !
Hier mein derzeitiger Code:
Java:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class CTemperatur extends JFrame {
JButton button;
JTextField Textfeld;
CMeineCanvas malflaeche;
CTemperatur() {
JPanel p1 = new JPanel();
p1.setLayout(new GridLayout(1,2));
Textfeld= new JTextField(); p1.add(Textfeld);
button= new JButton("Anzeigen"); p1.add(button);
setLayout(new FlowLayout());
malflaeche = new CMeineCanvas();
add(malflaeche);
add(p1);
button.addActionListener(new anzeigenC());
addWindowListener(new CMeinWindowLauscher());
}
class CMeinWindowLauscher extends WindowAdapter {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}
class CMeineCanvas extends Canvas {
CMeineCanvas() {
setBackground(Color.white);
setForeground(Color.red);
}
public void paint(Graphics g) {
int[] Counter = new int[27];
String[] Zeit= new String[27];
Counter[0]=0;
Counter[1]=0;
Counter[2]=0;
Counter[3]=0;
Counter[4]=0;
Counter[5]=0;
Counter[6]=0;
Counter[7]=0;
Counter[8]=0;
Counter[9]=0;
Counter[10]=0;
Counter[11]=0;
Counter[12]=0;
Counter[13]=0;
Counter[14]=0;
Counter[15]=0;
Counter[16]=0;
Counter[17]=0;
Counter[18]=0;
Counter[19]=0;
Counter[20]=0;
Counter[21]=0;
Counter[22]=0;
Counter[23]=0;
Counter[24]=0;
Counter[25]=0;
Counter[26]=0;
Zeit[0]="A";
Zeit[1]="B";
Zeit[2]="C";
Zeit[3]="D";
Zeit[4]="E";
Zeit[5]="F";
Zeit[6]="G";
Zeit[7]="H";
Zeit[8]="I";
Zeit[9]="J";
Zeit[10]="K";
Zeit[11]="L";
Zeit[12]="M";
Zeit[13]="N";
Zeit[14]="O";
Zeit[15]="P";
Zeit[16]="Q";
Zeit[17]="R";
Zeit[18]="S";
Zeit[19]="T";
Zeit[20]="U";
Zeit[21]="V";
Zeit[22]="W";
Zeit[23]="X";
Zeit[24]="Y";
Zeit[25]="Z";
Zeit[26]=" ";
g.drawLine(0,560,700,560);
int AB=1;
int Buchstabe=26;
int lange;
StringBuffer text = new StringBuffer("abcdefghijklmnopqrstuvwxyz");
lange=text.length();
for(int i=0;i<lange;i++)
{
if(text.charAt(i)==('a'))
{
Counter[1]=Counter[1]+1;
}
if(text.charAt(i)==('b'))
{
Counter[2]=Counter[2]+1;
}
if(text.charAt(i)==('c'))
{
Counter[3]=Counter[3]+1;
}
if(text.charAt(i)==('d'))
{
Counter[4]=Counter[4]+1;
}
if(text.charAt(i)==('e'))
{
Counter[5]=Counter[5]+1;
}
if(text.charAt(i)==('f'))
{
Counter[6]=Counter[6]+1;
}
if(text.charAt(i)==('g'))
{
Counter[7]=Counter[7]+1;
}
if(text.charAt(i)==('h'))
{
Counter[8]=Counter[8]+1;
}
if(text.charAt(i)==('i'))
{
Counter[9]=Counter[9]+1;
}
if(text.charAt(i)==('j'))
{
Counter[10]=Counter[10]+1;
}
if(text.charAt(i)==('k'))
{
Counter[11]=Counter[11]+1;
}
if(text.charAt(i)==('l'))
{
Counter[12]=Counter[12]+1;
}
if(text.charAt(i)==('m'))
{
Counter[13]=Counter[13]+1;
}
if(text.charAt(i)==('n'))
{
Counter[14]=Counter[14]+1;
}
if(text.charAt(i)==('o'))
{
Counter[15]=Counter[15]+1;
}
if(text.charAt(i)==('p'))
{
Counter[16]=Counter[16]+1;
}
if(text.charAt(i)==('q'))
{
Counter[17]=Counter[17]+1;
}
if(text.charAt(i)==('r'))
{
Counter[18]=Counter[18]+1;
}
if(text.charAt(i)==('s'))
{
Counter[19]=Counter[19]+1;
}
if(text.charAt(i)==('t'))
{
Counter[20]=Counter[20]+1;
}
if(text.charAt(i)==('u'))
{
Counter[21]=Counter[21]+1;
}
if(text.charAt(i)==('v'))
{
Counter[22]=Counter[22]+1;
}
if(text.charAt(i)==('w'))
{
Counter[23]=Counter[23]+1;
}
if(text.charAt(i)==('x'))
{
Counter[24]=Counter[24]+1;
}
if(text.charAt(i)==('y'))
{
Counter[25]=Counter[25]+1;
}
if(text.charAt(i)==('z'))
{
Counter[26]=Counter[26]+1;
}
}
for(int i=0;i<27;i++)
{
g.setColor(Color.black);
g.drawString(Zeit[i],Buchstabe,590);
g.setColor(Color.black);
if(Counter[i]>0){
g.fillRect(AB,550-(Counter[i]*5),15,(Counter[i]*5)+10);
}
AB=AB+25 ;
Buchstabe=Buchstabe+25;
}
}
public Dimension getMinimumSize() {
return new Dimension(700,600);
}
public Dimension getPreferredSize() {
return getMinimumSize();
}
}
class anzeigenC implements ActionListener {
public void actionPerformed(ActionEvent e) {
Object schalter = e.getSource();
StringBuffer Welt=new StringBuffer(Textfeld.getText());
malflaeche.repaint();
}
}
public static void main(String args[]) {
CTemperatur fenster = new CTemperatur();
fenster.pack();
fenster.setSize(800,800);
fenster.setVisible(true);
}
}
Zuletzt bearbeitet: