/******************************************************************************
Welcome to GDB Online.
GDB online is an online compiler and debugger tool for C, C++, Python, Java, PHP, Ruby, Perl,
C#, OCaml, VB, Swift, Pascal, Fortran, Haskell, Objective-C, Assembly, HTML, CSS, JS, SQLite, Prolog.
Code, Compile, Run and Debug online from anywhere in world.
*******************************************************************************/
public class Main
{
public static void main(String[] args) {
System.out.println("Hello World");
}
}
package modelo;
public class Complex {
float x;
float y;
public Complex(){}
public Complex(float x, float y){
this.x = x;
this.y = y;
}
public float getX(){
return x;
}
public float getY(){
return y;
}
public Complex sumar(Complex m, Complex n){
return new Complex(m.x+n.x, m.y+n.y);
}
public Complex restar(Complex m, Complex n){
return new Complex(m.x-n.x, m.y-n.y);
}
public Complex multiplicar(Complex m, Complex n){
return new Complex(m.x*n.x - m.y*n.y, m.x*n.y + m.y*n.x);
}
public Complex dividir(Complex m, Complex n){
float div = n.x*n.x + n.y*n.y;
Complex d = new Complex(n.x,-n.y);
d = multiplicar(m, d);
d.x /= div;
d.y /= div;
return d;}
}
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template
*/
package frames;
import modelo.*;
import vista.SwingValidator;
import java.text.NumberFormat;
import javax.swing.JTextField;
public class ComplexPolarApp extends javax.swing.JFrame {
/**
* Creates new form OpGUI
*/
Complex co;
Polar po;
NumberFormat numero = NumberFormat.getNumberInstance();
public ComplexPolarApp() {
initComponents();
mx.requestFocusInWindow();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
comPol = new javax.swing.ButtonGroup();
ml = new javax.swing.JLabel();
nl = new javax.swing.JLabel();
ny = new javax.swing.JTextField();
mx = new javax.swing.JTextField();
porl = new javax.swing.JLabel();
masl = new javax.swing.JLabel();
divl = new javax.swing.JLabel();
menosl2 = new javax.swing.JLabel();
menosXY = new javax.swing.JTextField();
masY = new javax.swing.JTextField();
porXY = new javax.swing.JTextField();
divXY = new javax.swing.JTextField();
calcular = new javax.swing.JButton();
limpiar = new javax.swing.JButton();
salir = new javax.swing.JButton();
nx = new javax.swing.JTextField();
my = new javax.swing.JTextField();
py = new javax.swing.JTextField();
px = new javax.swing.JTextField();
qy = new javax.swing.JTextField();
qx = new javax.swing.JTextField();
pl = new javax.swing.JLabel();
ql = new javax.swing.JLabel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
masXY = new javax.swing.JTextField();
masX = new javax.swing.JTextField();
menosX = new javax.swing.JTextField();
menosY = new javax.swing.JTextField();
porX = new javax.swing.JTextField();
porY = new javax.swing.JTextField();
divX = new javax.swing.JTextField();
divY = new javax.swing.JTextField();
jPanel1 = new javax.swing.JPanel();
com = new javax.swing.JRadioButton();
pol = new javax.swing.JRadioButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("ComplexPolarApp: 4 Operaciones");
ml.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
ml.setText("m");
nl.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
nl.setText("n");
ny.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
nyKeyTyped(evt);
}
});
mx.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
mxKeyTyped(evt);
}
});
porl.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
porl.setText("Multiplicación:");
masl.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
masl.setText("Suma :");
divl.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
divl.setText("División :");
menosl2.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
menosl2.setText("Resta :");
menosXY.setEditable(false);
menosXY.setBackground(new java.awt.Color(255, 255, 204));
menosXY.setFocusable(false);
masY.setEditable(false);
masY.setBackground(new java.awt.Color(255, 255, 204));
masY.setFocusable(false);
porXY.setEditable(false);
porXY.setBackground(new java.awt.Color(255, 255, 204));
porXY.setFocusable(false);
divXY.setEditable(false);
divXY.setBackground(new java.awt.Color(255, 255, 204));
divXY.setFocusable(false);
calcular.setMnemonic('C');
calcular.setText("Calcular");
calcular.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
calcularActionPerformed(evt);
}
});
limpiar.setMnemonic('L');
limpiar.setText("Limpiar");
limpiar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
limpiarActionPerformed(evt);
}
});
salir.setMnemonic('S');
salir.setText("Salir");
salir.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
salirActionPerformed(evt);
}
});
nx.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
nxKeyTyped(evt);
}
});
my.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
myKeyTyped(evt);
}
});
py.setEnabled(false);
py.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
pyKeyTyped(evt);
}
});
px.setEnabled(false);
px.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
pxKeyTyped(evt);
}
});
qy.setEnabled(false);
qy.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
qyKeyTyped(evt);
}
});
qx.setEnabled(false);
qx.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
qxKeyTyped(evt);
}
});
pl.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
pl.setText("p");
ql.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
ql.setText("q");
jLabel1.setText("Polar");
jLabel2.setText("Complejo");
masXY.setEditable(false);
masXY.setBackground(new java.awt.Color(255, 255, 204));
masXY.setFocusable(false);
masX.setEditable(false);
masX.setBackground(new java.awt.Color(255, 255, 204));
masX.setFocusable(false);
menosX.setEditable(false);
menosX.setBackground(new java.awt.Color(255, 255, 204));
menosX.setFocusable(false);
menosY.setEditable(false);
menosY.setBackground(new java.awt.Color(255, 255, 204));
menosY.setFocusable(false);
porX.setEditable(false);
porX.setBackground(new java.awt.Color(255, 255, 204));
porX.setFocusable(false);
porY.setEditable(false);
porY.setBackground(new java.awt.Color(255, 255, 204));
porY.setFocusable(false);
divX.setEditable(false);
divX.setBackground(new java.awt.Color(255, 255, 204));
divX.setFocusable(false);
divY.setEditable(false);
divY.setBackground(new java.awt.Color(255, 255, 204));
divY.setFocusable(false);
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Complejo/Polar"));
comPol.add(com);
com.setSelected(true);
com.setText("Complejo");
com.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
comPolActionPerformed(evt);
}
});
comPol.add(pol);
pol.setText("Polar");
pol.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
comPolActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(com)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(pol)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addGap(0, 0, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(com)
.addComponent(pol)))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(15, 15, 15)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(182, 182, 182)
.addComponent(nx, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(ny, javax.swing.GroupLayout.PREFERRED_SIZE, 82, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGap(258, 258, 258)
.addComponent(calcular)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(limpiar)
.addGap(18, 18, 18)
.addComponent(salir))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(mx, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(my, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGap(50, 50, 50)
.addComponent(ml, javax.swing.GroupLayout.PREFERRED_SIZE, 63, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(32, 32, 32)
.addComponent(jLabel2)
.addGap(18, 18, 18)
.addComponent(nl, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(86, 86, 86)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(50, 50, 50)
.addComponent(pl, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(33, 33, 33)
.addComponent(jLabel1)
.addGap(41, 41, 41)
.addComponent(ql, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addComponent(px, javax.swing.GroupLayout.PREFERRED_SIZE, 82, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(py, javax.swing.GroupLayout.PREFERRED_SIZE, 82, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(qx, javax.swing.GroupLayout.PREFERRED_SIZE, 82, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(qy, javax.swing.GroupLayout.PREFERRED_SIZE, 82, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addGroup(layout.createSequentialGroup()
.addGap(265, 265, 265)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGap(48, 48, 48)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(porl, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(menosl2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(divl, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(divXY, javax.swing.GroupLayout.PREFERRED_SIZE, 143, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(porXY, javax.swing.GroupLayout.PREFERRED_SIZE, 143, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(menosXY, javax.swing.GroupLayout.PREFERRED_SIZE, 146, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(83, 83, 83)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createSequentialGroup()
.addComponent(menosX, javax.swing.GroupLayout.PREFERRED_SIZE, 114, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(menosY, javax.swing.GroupLayout.PREFERRED_SIZE, 114, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addComponent(porX, javax.swing.GroupLayout.PREFERRED_SIZE, 114, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(porY, javax.swing.GroupLayout.PREFERRED_SIZE, 114, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(layout.createSequentialGroup()
.addComponent(divX, javax.swing.GroupLayout.PREFERRED_SIZE, 114, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(divY, javax.swing.GroupLayout.PREFERRED_SIZE, 114, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addGroup(layout.createSequentialGroup()
.addComponent(masl, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(masXY, javax.swing.GroupLayout.PREFERRED_SIZE, 146, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(83, 83, 83)
.addComponent(masX, javax.swing.GroupLayout.PREFERRED_SIZE, 114, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(masY, javax.swing.GroupLayout.PREFERRED_SIZE, 114, javax.swing.GroupLayout.PREFERRED_SIZE)))))
.addContainerGap(24, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel2)
.addGap(17, 17, 17))
.addGroup(layout.createSequentialGroup()
.addGap(109, 109, 109)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(ml)
.addComponent(nl)
.addComponent(jLabel1))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(mx, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(my, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(ny, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(nx, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(4, 4, 4))))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(114, 114, 114)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(pl)
.addComponent(ql))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(px, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(py, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(qx, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(qy, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(layout.createSequentialGroup()
.addGap(31, 31, 31)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(calcular)
.addComponent(limpiar)
.addComponent(salir))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(masl)
.addComponent(masXY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(masX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(masY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createSequentialGroup()
.addComponent(menosl2)
.addGap(20, 20, 20)
.addComponent(porl)
.addGap(12, 12, 12)
.addComponent(divl))
.addGroup(layout.createSequentialGroup()
.addComponent(menosXY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(8, 8, 8)
.addComponent(porXY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(divXY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(menosX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(menosY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(porX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(porY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(divX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(divY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addContainerGap(41, Short.MAX_VALUE))
);
pack();
}// </editor-fold>//GEN-END:initComponents
private void calcularActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_calcularActionPerformed
float mxx=0, myy=0, nxx=0, nyy=0;
boolean b = false;
Complex c1 = new Complex(), c2 = new Complex();
Polar p1 = new Polar(), p2 = new Polar(), p = new Polar();
if(isValidData()){
if(com.isSelected()){
mxx = Float.parseFloat(mx.getText());
myy = Float.parseFloat(my.getText());
nxx = Float.parseFloat(nx.getText());
nyy = Float.parseFloat(ny.getText());
c1 = new Complex(mxx, myy);
c2 = new Complex(nxx, nyy);
} else{
mxx = Float.parseFloat(px.getText());
myy = Float.parseFloat(py.getText());
nxx = Float.parseFloat(qx.getText());
nyy = Float.parseFloat(qy.getText());
p1 = new Polar(mxx, myy);
p2 = new Polar(nxx, nyy);
c1 = p.polarToComplex(p1);
c2 = p.polarToComplex(p2);
}
co = new Complex();
co = co.sumar(c1, c2);
masXY.setText(numero.format(co.getX()) + " + i" + numero.format(co.getY()));
po = new Polar();
po = po.ComplexToPolar(co);
masX.setText(numero.format(po.getX()));
masY.setText(numero.format(po.getY()));
co = co.restar(c1, c2);
menosXY.setText(numero.format(co.getX()) + " + i" + numero.format(co.getY()));
po = po.ComplexToPolar(co);
menosX.setText(numero.format(po.getX()));
menosY.setText(numero.format(po.getY()));
co = co.multiplicar(c1, c2);
porXY.setText(numero.format(co.getX()) + " + i" + numero.format(co.getY()));
po = po.ComplexToPolar(co);
porX.setText(numero.format(po.getX()));
porY.setText(numero.format(po.getY()));
// Completar la división
limpiar.requestFocusInWindow();
}
}//GEN-LAST:event_calcularActionPerformed
private void limpiarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_limpiarActionPerformed
limpiar();
}//GEN-LAST:event_limpiarActionPerformed
private void limpiar(){
JTextField[] cajas = {mx, my, nx, ny, px, py, qx, qy, masXY, menosXY, porXY, divXY, masX, menosX, porX, divX,
masY, menosY, porY, divY};
for(JTextField c:cajas) c.setText("");
JTextField[] cajas1 = {mx, my, nx, ny};
JTextField[] cajas2 = {px, py, qx, qy};
if(com.isSelected()){
// completar
mx.requestFocusInWindow();
} else{
// completar
px.requestFocusInWindow();
}
}
private void salirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_salirActionPerformed
System.exit(0);
}//GEN-LAST:event_salirActionPerformed
private void mxKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_mxKeyTyped
char c = evt.getKeyChar();
if (noEsNumero(c)) evt.consume();
if(c==10) my.requestFocusInWindow();
}//GEN-LAST:event_mxKeyTyped
private void nyKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_nyKeyTyped
char c = evt.getKeyChar();
if (noEsNumero(c)) evt.consume();
if(c==10) calcular.requestFocusInWindow();
}//GEN-LAST:event_nyKeyTyped
private void nxKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_nxKeyTyped
char c = evt.getKeyChar();
if (noEsNumero(c)) evt.consume();
if(c==10) ny.requestFocusInWindow();
}//GEN-LAST:event_nxKeyTyped
private void myKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_myKeyTyped
char c = evt.getKeyChar();
if (noEsNumero(c)) evt.consume();
if(c==10) nx.requestFocusInWindow();
}//GEN-LAST:event_myKeyTyped
private void pyKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_pyKeyTyped
char c = evt.getKeyChar();
if (noEsNumero(c)) evt.consume();
if(c==10) qx.requestFocusInWindow();
}//GEN-LAST:event_pyKeyTyped
private void pxKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_pxKeyTyped
char c = evt.getKeyChar();
if (noEsNumero(c)) evt.consume();
if(c==10) py.requestFocusInWindow();
}//GEN-LAST:event_pxKeyTyped
private void qyKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_qyKeyTyped
char c = evt.getKeyChar();
if (noEsNumero(c)) evt.consume();
if(c==10) calcular.requestFocusInWindow();
}//GEN-LAST:event_qyKeyTyped
private void qxKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_qxKeyTyped
char c = evt.getKeyChar();
if (noEsNumero(c)) evt.consume();
if(c==10) qy.requestFocusInWindow();
}//GEN-LAST:event_qxKeyTyped
private boolean noEsNumero(char c){
return c!='0' && c!='1' && c!='2' && c!='3' && c!='4' && c!='5' && c!='6' &&
c!='7' && c!='8' && c!='9' && c!='.' && c!='+' && c!='-';
}
private void comPolActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_comPolActionPerformed
limpiar();
}//GEN-LAST:event_comPolActionPerformed
private boolean isValidData(){ // valida datos Polar
SwingValidator sv = new SwingValidator();
if(com.isSelected())
return true; // completar
return true; // completar
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(ComplexPolarApp.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(ComplexPolarApp.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(ComplexPolarApp.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(ComplexPolarApp.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
//</editor-fold>
//</editor-fold>
//</editor-fold>
//</editor-fold>
//</editor-fold>
//</editor-fold>
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new ComplexPolarApp().setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton calcular;
private javax.swing.JRadioButton com;
private javax.swing.ButtonGroup comPol;
private javax.swing.JTextField divX;
private javax.swing.JTextField divXY;
private javax.swing.JTextField divY;
private javax.swing.JLabel divl;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JPanel jPanel1;
private javax.swing.JButton limpiar;
private javax.swing.JTextField masX;
private javax.swing.JTextField masXY;
private javax.swing.JTextField masY;
private javax.swing.JLabel masl;
private javax.swing.JTextField menosX;
private javax.swing.JTextField menosXY;
private javax.swing.JTextField menosY;
private javax.swing.JLabel menosl2;
private javax.swing.JLabel ml;
private javax.swing.JTextField mx;
private javax.swing.JTextField my;
private javax.swing.JLabel nl;
private javax.swing.JTextField nx;
private javax.swing.JTextField ny;
private javax.swing.JLabel pl;
private javax.swing.JRadioButton pol;
private javax.swing.JTextField porX;
private javax.swing.JTextField porXY;
private javax.swing.JTextField porY;
private javax.swing.JLabel porl;
private javax.swing.JTextField px;
private javax.swing.JTextField py;
private javax.swing.JLabel ql;
private javax.swing.JTextField qx;
private javax.swing.JTextField qy;
private javax.swing.JButton salir;
// End of variables declaration//GEN-END:variables
}
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package modelo;
import static java.lang.Math.*;
public class Polar {
float x, y;
Complex co;
public Polar(){}
public Polar(float x, float y){
this.x = x;
this.y = y;
}
public float getX(){
return x;
}
public float getY(){
return y;
}
public Complex polarToComplex(Polar po){
double rad = ((po.y*Math.PI)/180);
// Completar
return new Complex(1.0f,1.0f); // completar
}
public Polar ComplexToPolar(Complex co){
// Completar
return new Polar(1.0f,1.0f); // completar
}
}