Trying to get affinetransform to work in my code

Hello,

I am trying to get affinetransform to work in my applet. Can somebody help me figure it out. My code is below. I commented out some code because I was not sure of whether I shoud erase it or not because the affine transform works in the commented out code.

Good luck:

import java.lang.Integer;

import java.awt.*;

import java.awt.event.*;

import java.awt.font.*;

import java.awt.geom.*;

import java.awt.image.*;

import java.awt.event.ItemListener;

import java.awt.event.ItemEvent;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

import javax.swing.*;

import java.awt.Graphics.*;

import javax.swing.*;

import java.awt.*;

import javax.swing.text.*;

import javax.swing.event.*;

import java.awt.event.*;

import javax.swing.JApplet.*;

import javax.swing.JFrame.*;

import java.applet.Applet;

import javax.swing.border.*;

import javax.swing.Spring.*;

import java.awt.geom.AffineTransform;

import java.awt.Graphics2D;

//Class definition

public class Shapeshift extends JApplet{

private int x;

private int a;

private int b;

private int c;

private int dd;

private int q;

private int f;

private int z;

int hhh = 700;

int wwww = 700;

int www = 350;

int y = 300;

int g= 5;

int w = 20;

int h = 10;

int panelheight = 100;

int panelwidth = 540;

//Text

int ty = 20;

int tx = 10;

int twid = 40;

int thei = 20;

int bwid = 50;

int bhei = 20;

int ly = 2;

//Defining textfields

JTextField Lfield = new JTextField(5);

JTextField Rfield = new JTextField(5);

JTextField rfield = new JTextField(5);

JTextField Hfield = new JTextField(5);

JTextField tfield = new JTextField(5);

JTextField hfield = new JTextField(5);

JTextField lfield = new JTextField(5);

JLabel Llabel = new JLabel("L");

JLabel Rlabel = new JLabel("R");

JLabel rlabel = new JLabel("r");

JLabel llabel = new JLabel("l");

JLabel tlabel = new JLabel("t");

JLabel Hlabel = new JLabel("H");

JLabel hlabel = new JLabel("h");

/*public void paint(Graphics g) {

super.paint(g);

Graphics2D g2 = (Graphics2D) g;

Dimension d = getSize();

int ww = 350;

int w = d.width;

int h = d.height;

int c = (int)(Integer.parseInt(Rfield.getText())) + (int)(Integer.parseInt(tfield.getText())) + 1;

int z = 1 + (int)(Integer.parseInt(hfield.getText())) + (int)(Integer.parseInt(Rfield.getText()));

int xx = 1 + (int)(Integer.parseInt(hfield.getText())) + (int)(Integer.parseInt(Rfield.getText())) + (int)(Integer.parseInt(tfield.getText()));

int xxx = 1 + (int)(Integer.parseInt(rfield.getText())) + (int)(Integer.parseInt(Rfield.getText()));

AffineTransform saveXform = g2.getTransform();

AffineTransform toCenterAt = new AffineTransform();

toCenterAt.translate(w/2, h/2);

g2.transform(toCenterAt);

g2.setColor(Color.yellow);

g2.fillRect(-25, -30-z, 25+x, 10+f);

g2.fillRect(-25, 70+a, 25+x, 10+f);

g2.fillRect(50-x, -30-z, 25+x, 10+f);

g2.fillRect(50-x, 70+a, 25+x, 10+f);

g2.setColor(Color.blue);

g2.fillRect(-25, -40-xx, 100, 10 + dd);

g2.fillRect(-25, 80+z, 100, 10+dd);

g2.setColor(Color.gray);

g2.fillRect(x, 0+q, 50 - (2*x), 50-(2*q));

g2.fillRect(-25, -20-a, x + 25, 90+(2*a));

g2.fillRect(50-x, -20-a, 25+x, 90+(2*a));

g2.drawLine(90, 25, 90, -20 - a);

g2.drawLine(-30, 15-b, 90, 15-b);

g2.drawLine(-30, 40+b, 90, 40+b);

g2.drawLine(100, 25, 100, -5);

repaint();

}*/

public void init() {

class MyDrawingPanel extends JPanel{

public void paintComponent(Graphics g){

super.paintComponent(g);

Graphics2D g2 = (Graphics2D) g;

Dimension d = getSize();

int ww = 350;

int hh = 350;

int w = d.width;

int h = d.height;

int c = (int)(Integer.parseInt(Rfield.getText())) + (int)(Integer.parseInt(tfield.getText())) + 1;

int z = 1 + (int)(Integer.parseInt(hfield.getText())) + (int)(Integer.parseInt(Rfield.getText()));

int xx = 1 + (int)(Integer.parseInt(hfield.getText())) + (int)(Integer.parseInt(Rfield.getText())) + (int)(Integer.parseInt(tfield.getText()));

int xxx = 1 + (int)(Integer.parseInt(rfield.getText())) + (int)(Integer.parseInt(Rfield.getText()));

AffineTransform saveXform = g2.getTransform();

AffineTransform toCenterAt = new AffineTransform();

toCenterAt.translate(w/2, h/2);

g2.transform(toCenterAt);

g2.setColor(Color.yellow);

g2.fillRect(-25, -30-z, 25+x, 10+f);

g2.fillRect(-25, 70+a, 25+x, 10+f);

g2.fillRect(50-x, -30-z, 25+x, 10+f);

g2.fillRect(50-x, 70+a, 25+x, 10+f);

g2.setColor(Color.blue);

g2.fillRect(-25, -40-xx, 100, 10 + dd);

g2.fillRect(-25, 80+z, 100, 10+dd);

g2.setColor(Color.gray);

g2.fillRect(x, 0+q, 50 - (2*x), 50-(2*q));

g2.fillRect(-25, -20-a, x + 25, 90+(2*a));

g2.fillRect(50-x, -20-a, 25+x, 90+(2*a));

g2.drawLine(90, 25, 90, -20 - a);

g2.drawLine(-30, 15-b, 90, 15-b);

g2.drawLine(-30, 40+b, 90, 40+b);

g2.drawLine(100, 25, 100, -5);

repaint();

// other drawing/painting code here

// ...

}

}

MyDrawingPanel mdp = new MyDrawingPanel();

getContentPane().add(mdp, java.awt.BorderLayout.CENTER);

//Defining panels

JPanel dimension = new JPanel();

JPanel dimension1 = new JPanel();

//Setting initial text values to zero

int start = 0;

Lfield.setText(start + "");

Rfield.setText(start + "");

rfield.setText(start + "");

lfield.setText(start + "");

tfield.setText(start + "");

Hfield.setText(start + "");

hfield.setText(start + "");

//Setting up SpringLayout

SpringLayout spring = new SpringLayout();

SpringLayout spring2 = new SpringLayout();

Container c = getContentPane();

c.setLayout(spring);

Spring hhhheight = Spring.constant(hhh);

Spring wwwidth = Spring.constant(wwww);

Spring wwidth = Spring.constant(www);

Spring width = Spring.constant(w);

Spring height = Spring.constant(h);

Spring xvalue = Spring.constant(g);

Spring yvalue = Spring.constant(y);

Spring xxvalue = spring.getConstraint(SpringLayout.WEST, c);

Spring yyvalue = spring.getConstraint(SpringLayout.SOUTH, c);

//Panel 1 parameters

Spring panwidthr = spring.getConstraint(SpringLayout.EAST, c);

Spring panheight = Spring.constant(panelheight);

Spring panwidth = Spring.sum(panwidthr, Spring.minus(xvalue));

Spring ypandisp = Spring.sum(yyvalue, Spring.minus(Spring.sum(xvalue,panheight)));

Spring dxvalue = spring2.getConstraint(SpringLayout.WEST, dimension);

Spring dyvalue = spring2.getConstraint(SpringLayout.NORTH, dimension);

//text parameters

Spring txx = Spring.constant(tx);

Spring tyy = Spring.constant(ty);

Spring twidth = Spring.constant(twid);

Spring theight = Spring.constant(thei);

//button parameters

JButton up = new JButton();

Spring b1x = Spring.sum(txx,twidth);

Spring b1width = Spring.constant(bwid);

Spring b1height = Spring.constant(bhei);

Spring b1y = Spring.sum(tyy,b1height);

Spring b2x = Spring.sum(b1x, Spring.sum(b1x,b1width));

//text1 x position

Spring t1xx = Spring.sum(b2x,Spring.minus(twidth));

Spring t3x = Spring.sum(b2x, Spring.sum(txx,b1width));

Spring b3x = Spring.sum(t3x,twidth);

Spring t4x = Spring.sum(b3x,Spring.sum(txx,b1width));

Spring b4x = Spring.sum(b3x,Spring.sum(b1x,b1width));

Spring t5x = Spring.sum(b4x,Spring.sum(txx,b1width));

Spring b5x = Spring.sum(b4x,Spring.sum(b1x,b1width));

Spring t6x = Spring.sum(b5x,Spring.sum(txx,b1width));

Spring b6x = Spring.sum(b5x,Spring.sum(b1x,b1width));

Spring t7x = Spring.sum(b6x,Spring.sum(txx,b1width));

Spring b7x = Spring.sum(b6x,Spring.sum(b1x,b1width));

//Label parameters

Spring lyy = Spring.constant(ly);

//Adding features to panel

TitledBorder dampdim = new TitledBorder("Damper Dimensions");

dimension.setBorder(dampdim);

dimension.setLayout(spring2);

TitledBorder dampdimm = new TitledBorder("Damper Dimensions");

mdp.setBorder(dampdimm);

//Adding features to L up button

up.setText("UP");

up.setFont( new Font( "UP", Font.BOLD, 2));

up.addActionListener(new T1C());

//Defining buttons(in an array)

JButton buttons[] = new JButton[14];

buttons[0] = new JButton("UP");

buttons[1] = new JButton("DOWN");

buttons[2] = new JButton("UP");

buttons[3] = new JButton("DOWN");

buttons[4] = new JButton("UP");

buttons[5] = new JButton("DOWN");

buttons[6] = new JButton("UP");

buttons[7] = new JButton("DOWN");

buttons[8] = new JButton("UP");

buttons[9] = new JButton("DOWN");

buttons[10] = new JButton("UP");

buttons[11] = new JButton("DOWN");

buttons[12] = new JButton("UP");

buttons[13] = new JButton("DOWN");

buttons[1].addActionListener(new T2C());

buttons[2].addActionListener(new T3C());

buttons[3].addActionListener(new T4C());

buttons[4].addActionListener(new T5C());

buttons[5].addActionListener(new T6C());

buttons[6].addActionListener(new T7C());

buttons[7].addActionListener(new T8C());

buttons[8].addActionListener(new T9C());

buttons[9].addActionListener(new T10C());

buttons[10].addActionListener(new T11C());

buttons[11].addActionListener(new T12C());

buttons[12].addActionListener(new T13C());

buttons[13].addActionListener(new T14C());

//Component positioning

c.add(dimension);

spring.getConstraints(dimension).setX(xvalue);

spring.getConstraints(dimension).setY(ypandisp);

spring.getConstraints(dimension).setWidth(panwidth);

spring.getConstraints(dimension).setHeight(panheight);

c.add(dimension1);

spring.getConstraints(dimension1).setX(xvalue);

spring.getConstraints(dimension1).setY(theight);

spring.getConstraints(dimension1).setWidth(panwidth);

spring.getConstraints(dimension1).setHeight(hhhheight);

dimension.add(Lfield);

spring2.getConstraints(Lfield).setX(txx);

spring2.getConstraints(Lfield).setY(tyy);

spring2.getConstraints(Lfield).setWidth(twidth);

spring2.getConstraints(Lfield).setHeight(theight);

dimension.add(up);

spring2.getConstraints(up).setX(b1x);

spring2.getConstraints(up).setY(tyy);

spring2.getConstraints(up).setWidth(b1width);

spring2.getConstraints(up).setHeight(b1height);

dimension.add(buttons[1]);

spring2.getConstraints(buttons[1]).setX(b1x);

spring2.getConstraints(buttons[1]).setY(b1y);

spring2.getConstraints(buttons[1]).setWidth(b1width);

spring2.getConstraints(buttons[1]).setHeight(b1height);

dimension.add(Rfield);

spring2.getConstraints(Rfield).setX(t1xx);

spring2.getConstraints(Rfield).setY(tyy);

spring2.getConstraints(Rfield).setWidth(twidth);

spring2.getConstraints(Rfield).setHeight(theight);

dimension.add(buttons[2]);

spring2.getConstraints(buttons[2]).setX(b2x);

spring2.getConstraints(buttons[2]).setY(tyy);

spring2.getConstraints(buttons[2]).setWidth(b1width);

spring2.getConstraints(buttons[2]).setHeight(b1height);

dimension.add(buttons[3]);

spring2.getConstraints(buttons[3]).setX(b2x);

spring2.getConstraints(buttons[3]).setY(b1y);

spring2.getConstraints(buttons[3]).setWidth(b1width);

spring2.getConstraints(buttons[3]).setHeight(b1height);

dimension.add(rfield);

spring2.getConstraints(rfield).setX(t3x);

spring2.getConstraints(rfield).setY(tyy);

spring2.getConstraints(rfield).setWidth(twidth);

spring2.getConstraints(rfield).setHeight(theight);

dimension.add(buttons[4]);

spring2.getConstraints(buttons[4]).setX(b3x);

spring2.getConstraints(buttons[4]).setY(tyy);

spring2.getConstraints(buttons[4]).setWidth(b1width);

spring2.getConstraints(buttons[4]).setHeight(b1height);

dimension.add(buttons[5]);

spring2.getConstraints(buttons[5]).setX(b3x);

spring2.getConstraints(buttons[5]).setY(b1y);

spring2.getConstraints(buttons[5]).setWidth(b1width);

spring2.getConstraints(buttons[5]).setHeight(b1height);

dimension.add(lfield);

spring2.getConstraints(lfield).setX(t4x);

spring2.getConstraints(lfield).setY(tyy);

spring2.getConstraints(lfield).setWidth(twidth);

spring2.getConstraints(lfield).setHeight(theight);

dimension.add(buttons[6]);

spring2.getConstraints(buttons[6]).setX(b4x);

spring2.getConstraints(buttons[6]).setY(tyy);

spring2.getConstraints(buttons[6]).setWidth(b1width);

spring2.getConstraints(buttons[6]).setHeight(b1height);

dimension.add(buttons[7]);

spring2.getConstraints(buttons[7]).setX(b4x);

spring2.getConstraints(buttons[7]).setY(b1y);

spring2.getConstraints(buttons[7]).setWidth(b1width);

spring2.getConstraints(buttons[7]).setHeight(b1height);

dimension.add(tfield);

spring2.getConstraints(tfield).setX(t5x);

spring2.getConstraints(tfield).setY(tyy);

spring2.getConstraints(tfield).setWidth(twidth);

spring2.getConstraints(tfield).setHeight(theight);

dimension.add(buttons[8]);

spring2.getConstraints(buttons[8]).setX(b5x);

spring2.getConstraints(buttons[8]).setY(tyy);

spring2.getConstraints(buttons[8]).setWidth(b1width);

spring2.getConstraints(buttons[8]).setHeight(b1height);

dimension.add(buttons[9]);

spring2.getConstraints(buttons[9]).setX(b5x);

spring2.getConstraints(buttons[9]).setY(b1y);

spring2.getConstraints(buttons[9]).setWidth(b1width);

spring2.getConstraints(buttons[9]).setHeight(b1height);

dimension.add(Hfield);

spring2.getConstraints(Hfield).setX(t6x);

spring2.getConstraints(Hfield).setY(tyy);

spring2.getConstraints(Hfield).setWidth(twidth);

spring2.getConstraints(Hfield).setHeight(theight);

dimension.add(buttons[10]);

spring2.getConstraints(buttons[10]).setX(b6x);

spring2.getConstraints(buttons[10]).setY(tyy);

spring2.getConstraints(buttons[10]).setWidth(b1width);

spring2.getConstraints(buttons[10]).setHeight(b1height);

dimension.add(buttons[11]);

spring2.getConstraints(buttons[11]).setX(b6x);

spring2.getConstraints(buttons[11]).setY(b1y);

spring2.getConstraints(buttons[11]).setWidth(b1width);

spring2.getConstraints(buttons[11]).setHeight(b1height);

dimension.add(hfield);

spring2.getConstraints(hfield).setX(t7x);

spring2.getConstraints(hfield).setY(tyy);

spring2.getConstraints(hfield).setWidth(twidth);

spring2.getConstraints(hfield).setHeight(theight);

dimension.add(buttons[12]);

spring2.getConstraints(buttons[12]).setX(b7x);

spring2.getConstraints(buttons[12]).setY(tyy);

spring2.getConstraints(buttons[12]).setWidth(b1width);

spring2.getConstraints(buttons[12]).setHeight(b1height);

dimension.add(buttons[13]);

spring2.getConstraints(buttons[13]).setX(b7x);

spring2.getConstraints(buttons[13]).setY(b1y);

spring2.getConstraints(buttons[13]).setWidth(b1width);

spring2.getConstraints(buttons[13]).setHeight(b1height);

dimension.add(Llabel);

spring2.getConstraints(Llabel).setX(txx);

spring2.getConstraints(Llabel).setY(lyy);

spring2.getConstraints(Llabel).setWidth(twidth);

spring2.getConstraints(Llabel).setHeight(theight);

dimension.add(Rlabel);

spring2.getConstraints(Rlabel).setX(t1xx);

spring2.getConstraints(Rlabel).setY(lyy);

spring2.getConstraints(Rlabel).setWidth(twidth);

spring2.getConstraints(Rlabel).setHeight(theight);

dimension.add(rlabel);

spring2.getConstraints(rlabel).setX(t3x);

spring2.getConstraints(rlabel).setY(lyy);

spring2.getConstraints(rlabel).setWidth(twidth);

spring2.getConstraints(rlabel).setHeight(theight);

dimension.add(llabel);

spring2.getConstraints(llabel).setX(t4x);

spring2.getConstraints(llabel).setY(lyy);

spring2.getConstraints(llabel).setWidth(twidth);

spring2.getConstraints(llabel).setHeight(theight);

dimension.add(tlabel);

spring2.getConstraints(tlabel).setX(t5x);

spring2.getConstraints(tlabel).setY(lyy);

spring2.getConstraints(tlabel).setWidth(twidth);

spring2.getConstraints(tlabel).setHeight(theight);

dimension.add(Hlabel);

spring2.getConstraints(Hlabel).setX(t6x);

spring2.getConstraints(Hlabel).setY(lyy);

spring2.getConstraints(Hlabel).setWidth(twidth);

spring2.getConstraints(Hlabel).setHeight(theight);

dimension.add(hlabel);

spring2.getConstraints(hlabel).setX(t7x);

spring2.getConstraints(hlabel).setY(lyy);

spring2.getConstraints(hlabel).setWidth(twidth);

spring2.getConstraints(hlabel).setHeight(theight);

//end of init()

}

//Event Handlers for buttons

class T1C implements ActionListener

{

public void actionPerformed(ActionEvent e) {

x = (int)(Integer.parseInt(Lfield.getText())) + 1;

Lfield.setText(x + "");

}

}

class T2C implements ActionListener

{

public void actionPerformed(ActionEvent e) {

x = (int)(Integer.parseInt(Lfield.getText())) - 1;

Lfield.setText(x + "");

}

}

class T3C implements ActionListener

{

public void actionPerformed(ActionEvent e) {

a = (int)(Integer.parseInt(Rfield.getText())) + 1;

Rfield.setText(a + "");

}

}

class T4C implements ActionListener

{

public void actionPerformed(ActionEvent e) {

a = (int)(Integer.parseInt(Rfield.getText())) - 1;

Rfield.setText(a + "");

}

}

class T5C implements ActionListener

{

public void actionPerformed(ActionEvent e) {

b = (int)(Integer.parseInt(rfield.getText())) + 1;

rfield.setText(b + "");

}

}

class T6C implements ActionListener

{

public void actionPerformed(ActionEvent e) {

b = (int)(Integer.parseInt(rfield.getText())) - 1;

rfield.setText(b + "");

}

}

class T7C implements ActionListener

{

public void actionPerformed(ActionEvent e) {

c = (int)(Integer.parseInt(lfield.getText())) + 1;

lfield.setText(c + "");

}

}

class T8C implements ActionListener

{

public void actionPerformed(ActionEvent e) {

c = (int)(Integer.parseInt(lfield.getText())) - 1;

lfield.setText(c + "");

}

}

class T9C implements ActionListener

{

public void actionPerformed(ActionEvent e) {

dd = (int)(Integer.parseInt(tfield.getText())) + 1;

tfield.setText(dd + "");

}

}

class T10C implements ActionListener

{

public void actionPerformed(ActionEvent e) {

dd = (int)(Integer.parseInt(tfield.getText())) - 1;

tfield.setText(dd + "");

}

}

class T11C implements ActionListener

{

public void actionPerformed(ActionEvent e) {

q = (int)(Integer.parseInt(Hfield.getText())) + 1;

Hfield.setText(q + "");

}

}

class T12C implements ActionListener

{

public void actionPerformed(ActionEvent e) {

q = (int)(Integer.parseInt(Hfield.getText())) - 1;

Hfield.setText(q + "");

}

}

class T13C implements ActionListener

{

public void actionPerformed(ActionEvent e) {

f = (int)(Integer.parseInt(hfield.getText())) + 1;

hfield.setText(f + "");

}

}

class T14C implements ActionListener

{

public void actionPerformed(ActionEvent e) {

f = (int)(Integer.parseInt(hfield.getText())) - 1;

hfield.setText(f + "");

}

}

public static void main( String[] argv ) {

JFrame frame = new JFrame( "Transform" );

frame.addWindowListener( new WindowAdapter(){

public void windowClosing( WindowEvent e ){

System.exit( 0 );

}

});

JApplet applet = new Shapeshift();

frame.getContentPane().add( BorderLayout.CENTER, applet );

applet.init();

frame.setSize( 800, 700 );

frame.setVisible(true);

}

}

[20898 byte] By [Jamaala] at [2007-11-27 11:18:24]
# 1

Not so sure about the afine transformation bits, because I couldn't get past the terminal array-deficiency syndrome which afflicts your code.

Please learn about arrays and how they can economize on your code and our eyeballs.

petes1234a at 2007-7-29 14:30:41 > top of Java-index,Java Essentials,New To Java...
# 2

Would you like any help compressing some of that code of yours?

petes1234a at 2007-7-29 14:30:41 > top of Java-index,Java Essentials,New To Java...
# 3

I see a lot of applet code and little that has to do with affine transformations.

Separate the UI from what you're trying to do. Once you have it working perfectly on a command line with simple text input and output, then worry about the applet.

%

duffymoa at 2007-7-29 14:30:41 > top of Java-index,Java Essentials,New To Java...