package testflaeche;
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
import java.awt.List;
import java.util.*;
import java.io.*;
public class Test2 {
JFrame frame;
JTextField txt1;
JPanel pan2;
JPanel pan1;
private int x;
private int y;
public Test2() {
x = 0; y = 0;
frame = new JFrame();
txt1 = new JTextField("Cosinus", 7);
pan1 = new JPanel() {
@Override public void paintComponent(Graphics g) {
g.setColor(Color.GREEN);
g.fillRect(x, y, 5, 5);
}
};
pan1.setBackground(Color.DARK_GRAY);
pan2 = new JPanel();
ButtonOne but1 = new ButtonOne("Random");
but1.addActionListener(but1);
ButtonTwo but2 = new ButtonTwo("Go!");
but2.addActionListener(but2);
pan2.add(but1); pan2.add(but2);
frame.setSize(new Dimension(300,300));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.getContentPane().add(BorderLayout.NORTH, txt1);
frame.getContentPane().add(BorderLayout.CENTER, pan1);
frame.getContentPane().add(BorderLayout.SOUTH, pan2);
frame.setVisible(true);
}
class ButtonOne extends JButton implements ActionListener {
public ButtonOne(String name) {
super(name);
}
@Override public void actionPerformed(ActionEvent evt) {
int r = (int)(Math.random() * 3 + 1);
switch(r) {
case 1:
txt1.setText("Sinus");
break;
case 2:
txt1.setText("Cosinus");
break;
case 3:
txt1.setText("xQuadrat");
break;
}
}
}
class ButtonTwo extends JButton implements ActionListener {
public ButtonTwo(String name) {
super(name);
}
@Override public void actionPerformed(ActionEvent evt) {
SwingWorker work = new SwingWorker() {
@Override public Object doInBackground() {
for(int i = 0; i < 300; i++) {
System.out.println(x + " " + y);
x = i;
y = (int)(30*Math.sin(i) + 80);
publish();
try {
Thread.sleep(50);
}
catch(InterruptedException exc) {
exc.printStackTrace();
}
}
return null;
}
@Override protected void process(java.util.List chunks){
pan1.repaint();
}
};
work.execute();
}
}
public static void main(String[] args) {
Test2 t = new Test2();
}
}
package testflaeche;
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
import java.awt.List;
import java.util.*;
import java.io.*;
public class Test2 {
JFrame frame;
JTextField txt1;
JPanel pan2;
JPanel pan1;
private int x;
private int y;
public Test2() {
x = 0; y = 0;
frame = new JFrame();
txt1 = new JTextField("Cosinus", 7);
pan1 = new JPanel() {
@Override public void paintComponent(Graphics g) {
g.setColor(Color.GREEN);
g.fillRect(x, y, 5, 5);
}
};
pan1.setBackground(Color.DARK_GRAY);
pan2 = new JPanel();
ButtonOne but1 = new ButtonOne("Random");
but1.addActionListener(but1);
ButtonTwo but2 = new ButtonTwo("Go!");
but2.addActionListener(but2);
pan2.add(but1); pan2.add(but2);
frame.setSize(new Dimension(300,300));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.getContentPane().add(BorderLayout.NORTH, txt1);
frame.getContentPane().add(BorderLayout.CENTER, pan1);
frame.getContentPane().add(BorderLayout.SOUTH, pan2);
frame.setVisible(true);
}
class ButtonOne extends JButton implements ActionListener {
public ButtonOne(String name) {
super(name);
}
@Override public void actionPerformed(ActionEvent evt) {
int r = (int)(Math.random() * 3 + 1);
switch(r) {
case 1:
txt1.setText("Sinus");
break;
case 2:
txt1.setText("Cosinus");
break;
case 3:
txt1.setText("xQuadrat");
break;
}
}
}
class ButtonTwo extends JButton implements ActionListener {
public ButtonTwo(String name) {
super(name);
}
@Override public void actionPerformed(ActionEvent evt) {
SwingWorker work = new SwingWorker() {
@Override public Object doInBackground() {
for(int i = 0; i < 300; i++) {
System.out.println(x + " " + y);
x = i;
y = (int)(30*Math.sin(i) + 80);
publish();
try {
Thread.sleep(50);
}
catch(InterruptedException exc) {
exc.printStackTrace();
}
}
return null;
}
@Override protected void process(java.util.List chunks){
pan1.repaint();
}
};
work.execute();
}
}
public static void main(String[] args) {
Test2 t = new Test2();
}
}