- Codice: Seleziona tutto
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.table.AbstractTableModel;
public class frame1 extends JFrame {
// --- inizio variabili pubbliche ---
// --- fine variabili pubbliche ---
//--- inizio costanti ---
private static byte AltezzaLabel=16;
private static byte AltezzaTesto=20;
private static byte AltezzaCheck=24;
private static byte AltezzaRadio=24;
private static byte AltezzaCombo=25;
private static byte AltezzaButton=26;
private static byte AltezzaProgressBar=28;
private static boolean debug1=false;
private static boolean debug2=false;
private static boolean debug3=false;
private static boolean italiano=true;
private static boolean EsteticaEsp=false;
private static boolean VuolePerderePrecisione=true;
//--- fine costanti ---
private JPanel pannello1 = new JPanel();
private JPanel pannello2 = new JPanel();
private JPanel pannello3 = new JPanel();
private JPanel pannello4 = new JPanel();
private JPanel panCentro = new JPanel();
private JPanel panSud = new JPanel();
private JLabel[] etic = new JLabel[10];
private JTextArea[] manoscritti = new JTextArea[1];
private ImageIcon iconEquazione = new ImageIcon();
private JLabel lEquazione = new JLabel();
private JRadioButton oProtone = new JRadioButton("nucleo protone (Z1=1 A1=1)", false);
private JRadioButton oDeuterio = new JRadioButton("nucleo deuterio (Z1=1 A1=2)", false);
private JRadioButton oTrizio = new JRadioButton("nucleo trizio (Z1=1 A1=3)", false);
private JRadioButton oElio = new JRadioButton("nucleo elio (Z1=2 A1=4)", false);
private JRadioButton oNeon = new JRadioButton("nucleo neon (Z1=10 A1=20)", false);
private JRadioButton oArgon = new JRadioButton("nucleo argon (Z1=18 A1=40)", false);
private JRadioButton oKripton = new JRadioButton("nucleo kripton (Z1=36 A1=84)", false);
private JRadioButton oXeno = new JRadioButton("nucleo xeno (Z1=54 A1=132)", false);
private JRadioButton oRadon = new JRadioButton("nucleo radon (Z1=86 A1=222)", false);
private ButtonGroup bgroup = new ButtonGroup();
private JTable griglia = new JTable();
private JCheckBox CheckDebug = new JCheckBox("debug", false);
private JCheckBox CheckTagliaDecimali = new JCheckBox("mostrare soltanto 2 decimali", true);
private JCheckBox CheckKiloEv = new JCheckBox("se minore di 1 Mev converte in chilo elettronvolt", true);
private JButton bCalcola = new JButton("calcola");
private JLabel lFlussoMagnetico = new JLabel("flusso magnetico (in tesla)", JLabel.RIGHT);
private JTextField tFlussoMagnetico = new JTextField("1");
private JButton bRestoreFlussoMagnetico = new JButton("ripristina");
private JButton bProgetta = new JButton("progetta ciclotrone");
//private JLabel lAggiunta = new JLabel("", JLabel.RIGHT);
private JTextField tAggiunta = new JTextField("1,04");
private JButton bRestoreAggiunta = new JButton("ripristina");
private JCheckBox CheckDebugTable1 = new JCheckBox("debug table 1", false);
//--- inizio variabili condivise non passate ---
private int w9_griglia=0;
private int h9_griglia=0;
private int x9_griglia=0;
private int y9_griglia=0;
private int NumRighe=0;
private int NumColonne=0;
private String testata[] = {
"Z2",
"target",
"simbolo",
"A2"
};
//--- fine variabili condivise non passate ---
//--- inizio condivisione di vecchie variabili passate ---
//--- fine condivisione di vecchie variabili passate ---
//--- inizio dichiarare le variabili condivise ---
//private int w9=0; // non utilizzato
//private int h9=0; // non utilizzato
//private int x9=0; // non utilizzato
//private int y9=0; // non utilizzato
private String AppName="";
private float versione=0.0f;
private String Website="";
private String titolo="";
private int width_disponibile=0;
private int height_disponibile=0;
private int x1_disponibile=0;
private int y1_disponibile=0;
private Object[][] oggetti = new Object[1][1];
//--- fine dichiarare le variabili condivise ---
public frame1(final int OldW9, final int OldH9, final int OldX9,
final int OldY9, final String OldAppName,
final float OldVersione, final String OldWebsite,
final String OldTitolo, final int OldWidth_disponibile,
final int OldHeight_disponibile, final int OldX1_disponibile,
final int OldY1_disponibile, final int OldLarghezza,
final int OldAltezza, final int OldX1, final int OldY1,
Object OldOggetti[][]) {
//--- inizio impostare le variabili condivise ---
//w9=OldW9; // non utilizzato
//h9=OldH9; // non utilizzato
//x9=OldX9; // non utilizzato
//y9=OldY9; // non utilizzato
AppName=OldAppName;
versione=OldVersione;
Website=OldWebsite;
titolo=OldTitolo;
width_disponibile=OldWidth_disponibile;
height_disponibile=OldHeight_disponibile;
x1_disponibile=OldX1_disponibile;
y1_disponibile=OldY1_disponibile;
NumRighe=OldOggetti.length;
NumColonne=OldOggetti[0].length;
oggetti = new Object[NumRighe][NumColonne];
for (int bb=0;bb<NumRighe;bb++) {
for (int cc=0;cc<NumColonne;cc++) {
oggetti[bb][cc]=OldOggetti[bb][cc];
}
}
//--- fine impostare le variabili condivise ---
//--- inizio dichiarazioni interne ---
java.awt.Font default_font = this.getFont();
java.awt.Font default_font_bold = new Font("Default", java.awt.Font.BOLD, 12);
java.awt.Font default_NO_bold = new Font("Default", java.awt.Font.PLAIN, 12);
Border antebordo = BorderFactory.createEtchedBorder();
//--- fine dichiarazioni interne ---
//--- inizio impostare le controls ---
for (byte bb=0;bb<etic.length;bb++) {
etic[bb] = new JLabel(" ");
//etic[bb] = new JLabel(" etic"+bb+" ");
}
iconEquazione=IfTheFileJarExists_ItIsNotNecessaryImagesFolder(OldW9, OldH9, OldX9, OldY9,
OldWidth_disponibile, OldHeight_disponibile, OldX1_disponibile, OldY1_disponibile,
"images", "barriera.png", "");
lEquazione.setIcon(iconEquazione);
lFlussoMagnetico.setFont(default_NO_bold);
manoscritti[0] = new JTextArea("Allo scopo di aumentare la sezione \nd'urto, aggiungere (Mev)");
JFrame mioframe = new JFrame();
Color ColoreDelloSfondo = mioframe.getBackground();
//int rosso = ColoreSfondo.getRed();
//int verde = ColoreSfondo.getGreen();
//int blu = ColoreSfondo.getBlue();
manoscritti[0].setBackground(ColoreDelloSfondo);
manoscritti[0].setEditable(false);
//--- inizio test ---
//String messaggio= "NumRighe = "+Integer.toString(NumRighe)+" \n";
//messaggio=messaggio+"NumColonne = "+Integer.toString(NumColonne)+" \n";
//new ViewerMessages(OldW9, OldH9, OldX9, OldY9, OldTitolo, OldWidth_disponibile,
// OldHeight_disponibile, OldX1_disponibile, OldY1_disponibile, messaggio);
//--- fine test ---
bgroup.add(oProtone);
bgroup.add(oDeuterio);
bgroup.add(oTrizio);
bgroup.add(oElio);
bgroup.add(oNeon);
bgroup.add(oArgon);
bgroup.add(oKripton);
bgroup.add(oXeno);
bgroup.add(oRadon);
oElio.setSelected(true);
tFlussoMagnetico.setPreferredSize(new Dimension(70, AltezzaTesto));
//--- fine impostare le controls ---
//--- inizio eventi ---
bCalcola.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//JDialog UnDialog_di_ev = new JDialog();
//int w9_cal=frame1.this.getWidth();
//int h9_cal=frame1.this.getHeight();
//UnDialog_di_ev.setSize(w9_cal, h9_cal);
//int x9_cal=frame1.this.getX();
//int y9_cal=frame1.this.getY();
//UnDialog_di_ev.setLocation(x9_cal, y9_cal);
JDialog UnDialog_di_ev = new JDialog();
UnDialog_di_ev.setUndecorated(true);
UnDialog_di_ev.setSize(2, 2);
int x9_cal=frame1.this.getX()+(frame1.this.getWidth()/2)-1;
int y9_cal=frame1.this.getY()+(frame1.this.getHeight()/2)-1;
UnDialog_di_ev.setLocation(x9_cal, y9_cal);
chiamataCalcola(2, 2, x9_cal, y9_cal, bCalcola.getText(),
OldWidth_disponibile, OldHeight_disponibile,
OldX1_disponibile, OldY1_disponibile);
}
});
bRestoreFlussoMagnetico.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tFlussoMagnetico.setText("1");
}
});
bRestoreAggiunta.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tAggiunta.setText("1,04");
}
});
bProgetta.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//JDialog UnDialog_di_ev = new JDialog();
//int w9_pro=frame1.this.getWidth();
//int h9_pro=frame1.this.getHeight();
//UnDialog_di_ev.setSize(w9_pro, h9_pro);
//int x9_pro=frame1.this.getX();
//int y9_pro=frame1.this.getY();
//UnDialog_di_ev.setLocation(x9_pro, y9_pro);
JDialog UnDialog_di_ev = new JDialog();
UnDialog_di_ev.setUndecorated(true);
UnDialog_di_ev.setSize(2, 2);
int x9_pro=frame1.this.getX()+(frame1.this.getWidth()/2)-1;
int y9_pro=frame1.this.getY()+(frame1.this.getHeight()/2)-1;
UnDialog_di_ev.setLocation(x9_pro, y9_pro);
chiamataProgetta(2, 2, x9_pro, y9_pro, OldAppName, OldVersione,
OldWebsite, bProgetta.getText(), OldWidth_disponibile,
OldHeight_disponibile, OldX1_disponibile,
OldY1_disponibile);
}
});
//--- fine eventi ---
//--- begin pannello1 ---
pannello1.setLayout(new BoxLayout(pannello1, BoxLayout.Y_AXIS));
pannello1.add(oProtone);
pannello1.add(oDeuterio);
pannello1.add(oTrizio);
pannello1.add(oElio);
pannello1.add(oNeon);
pannello1.add(oArgon);
pannello1.add(oKripton);
pannello1.add(oXeno);
pannello1.add(oRadon);
Border bordoPan1 = BorderFactory.createTitledBorder(antebordo, "seleziona proiettile", 0, 0, default_font, Color.black);
pannello1.setBorder(bordoPan1);
JScrollPane barre1= new JScrollPane(pannello1);
barre1.setPreferredSize(new Dimension(290, 150));
//--- end pannello1 ---
//--- inizio pannello2 ---
w9_griglia=OldW9;
h9_griglia=OldH9;
x9_griglia=OldX9;
y9_griglia=OldY9;
griglia=new JTable(new MyTableModel());
griglia.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
griglia.getColumnModel().getColumn(0).setPreferredWidth(20); //Z2
griglia.getColumnModel().getColumn(1).setPreferredWidth(100); //target
griglia.getColumnModel().getColumn(2).setPreferredWidth(50); //simbolo
griglia.getColumnModel().getColumn(3).setPreferredWidth(30); //A2
pannello2.setLayout(new BorderLayout());
pannello2.add(griglia.getTableHeader(), BorderLayout.PAGE_START);
pannello2.add(griglia);
JScrollPane barre2 = new JScrollPane(pannello2);
barre2.setPreferredSize(new Dimension(290, 150));
griglia.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
griglia.setRowSelectionInterval(5,5);
//--- fine pannello2 ---
//--- begin pannello3 ---
pannello3.setLayout(new BoxLayout(pannello3, BoxLayout.Y_AXIS));
pannello3.add(CheckTagliaDecimali);
pannello3.add(CheckKiloEv);
//pannello3.add(CheckDebug);
pannello3.add(bCalcola);
Border bordoPan3 = BorderFactory.createTitledBorder(antebordo, "calcola energia finale", 0, 0, default_font, Color.black);
pannello3.setBorder(bordoPan3);
//--- end pannello3 ---
//--- inizio pannello4 ---
pannello4.setLayout(new GridBagLayout());
GridBagConstraints c4 = new GridBagConstraints();
c4.fill = GridBagConstraints.HORIZONTAL;
//Insets(up,left,bottom,right);
c4.insets = new Insets(3,3,3,3);
c4.gridy = 0;
c4.gridx = 0; pannello4.add(lFlussoMagnetico, c4);
c4.gridx = 1; pannello4.add(tFlussoMagnetico, c4);
c4.gridx = 2; pannello4.add(bRestoreFlussoMagnetico, c4);
c4.gridy = 1;
c4.gridx = 0; pannello4.add(manoscritti[0], c4);
c4.gridx = 1; pannello4.add(tAggiunta, c4);
c4.gridx = 2; pannello4.add(bRestoreAggiunta, c4);
Border bordoPan4 = BorderFactory.createTitledBorder(antebordo, "", 0, 0, default_font, Color.black);
pannello4.setBorder(bordoPan4);
//--- fine pannello4 ---
//--- inizio panCentro ---
panCentro.setLayout(new GridBagLayout());
GridBagConstraints c99 = new GridBagConstraints();
c99.fill = GridBagConstraints.VERTICAL;
//Insets(up,left,bottom,right);
c99.insets = new Insets(0,0,10,0);
int coy=-1;
c99.anchor = GridBagConstraints.CENTER;
coy++;c99.gridy = coy;c99.gridwidth = 2;
c99.gridx = 0; panCentro.add(lEquazione, c99);
//c99.gridx = 1; panCentro.add(etic[1], c99);
c99.anchor = GridBagConstraints.LINE_START;
coy++; c99.gridy = coy;c99.gridwidth = 1;
c99.gridx = 0; panCentro.add(barre1, c99); //scelta tipo di proiettile
c99.gridx = 1; panCentro.add(barre2, c99); //scelta del target
coy++; c99.gridy = coy;c99.gridwidth = 2;
c99.gridx = 0; panCentro.add(pannello3, c99); //bottone calcola
//c99.gridx = 1; panCentro.add(etic[2], c99);
coy++; c99.gridy = coy;c99.gridwidth = 2;
c99.gridx = 0; panCentro.add(pannello4, c99); //progetta acceleratore
JScrollPane barreCentro= new JScrollPane(panCentro);
//--- fine panCentro ---
//--- inizio panSud ---
panSud.setLayout(new GridBagLayout());
GridBagConstraints cSud = new GridBagConstraints();
cSud.fill = GridBagConstraints.HORIZONTAL;
//Insets(up,left,bottom,right);
cSud.insets = new Insets(3,10,3,10);
cSud.gridy = 0;
cSud.gridx = 0; panSud.add(bProgetta, cSud);
JScrollPane barreSud= new JScrollPane(panSud, JScrollPane.VERTICAL_SCROLLBAR_NEVER, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
//--- fine panSud ---
this.getContentPane().setLayout(new BorderLayout());
this.getContentPane().add(BorderLayout.CENTER, barreCentro);
this.getContentPane().add(BorderLayout.SOUTH, barreSud);
this.pack();
double w2=OldWidth_disponibile*0.9d; int w3=(int)w2;
double h2=OldHeight_disponibile*0.9d; int h3=(int)h2;
//--- inizio setSize ---
//String messaggio="w2 = "+Double.toString(w2)+" \n";
//messaggio=messaggio+"h2 = "+Double.toString(h2)+" \n";
//messaggio=messaggio+"w3 = "+Integer.toString(w3)+" \n";
//messaggio=messaggio+"h3 = "+Integer.toString(h3)+" \n";
//new ViewerMessages(OldW9, OldH9, OldX9, OldY9, "test dimensioni schermo",
// OldWidth_disponibile, OldHeight_disponibile, OldX1_disponibile,
// OldY1_disponibile, messaggio);
if (OldLarghezza > OldWidth_disponibile) {
if (OldAltezza > OldHeight_disponibile) {
this.setSize(w3, h3);
}else{
this.setSize(w3, OldAltezza);
}
}else{
if (OldAltezza > OldHeight_disponibile) {
this.setSize(OldLarghezza, h3);
}else{
this.setSize(OldLarghezza, OldAltezza);
}
}
//--- fine setSize ---
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
if (OldX1 < 0) {
this.setLocationRelativeTo(null);
}else{
if (OldY1 < 0) {
this.setLocationRelativeTo(null);
}else{
this.setLocation(OldX1, OldY1);
}
}
this.setTitle(OldTitolo);
//this.setModal(true);
//bButton1.doClick();
this.setVisible(true);
}
class MyTableModel extends AbstractTableModel {
public int getColumnCount() {
return NumColonne;
}
public int getRowCount() {
return oggetti.length;
}
public String getColumnName(int col) {
return testata[col];
}
public Object getValueAt(int row, int col) {
return oggetti[row][col];
}
//JTable uses this method to determine the default renderer/
//editor for each cell. If we didn't implement this method,
//then the last column would contain text ("true"/"false"),
//rather than a check box.
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
// Don't need to implement this method unless your table's
// editable.
public boolean isCellEditable(int row, int col) {
//Note that the data/cell address is constant,
//no matter where the cell appears onscreen.
//if (col < 2) {
return false;
//} else {
//return true;
//}
}
// Don't need to implement this method unless your table's
// data can change.
public void setValueAt(Object value, int row, int col) {
boolean sw1=CheckDebugTable1.isSelected();
String messaggio="";
if (sw1) {
messaggio="Setting value at " + row + ",";
messaggio=messaggio+col+ " to " + value;
messaggio=messaggio+" (an instance of "+ value.getClass() + ") \n";
new ViewerMessages(w9_griglia, h9_griglia, x9_griglia, y9_griglia,
"extends AbstractTableModel", width_disponibile, height_disponibile,
x1_disponibile, y1_disponibile, messaggio);
}
oggetti[row][col] = value;
fireTableCellUpdated(row, col);
if (sw1) {
printDebugData();
}
}
private void printDebugData() {
int numRows = getRowCount();
int numCols = getColumnCount();
String messaggio="New value of data: \n";
for (int bb=0;bb<numRows;bb++) {
messaggio=messaggio+"row "+bb+":";
for (int cc=0;cc<numCols;cc++) {
messaggio=messaggio+""+oggetti[bb][cc]+" \n";
}
messaggio=messaggio+" \n";
}
byte b1=26;
messaggio=messaggio+module99.str_repeat(b1, ((char)45))+" \n";
new ViewerMessages(w9_griglia, h9_griglia, x9_griglia, y9_griglia,
"extends AbstractTableModel", width_disponibile, height_disponibile,
x1_disponibile, y1_disponibile, messaggio);
}
}
private javax.swing.ImageIcon IfTheFileJarExists_ItIsNotNecessaryImagesFolder(
final int OldW9, final int OldH9, final int OldX9, final int OldY9,
final int OldWidth_disponibile, final int OldHeight_disponibile,
final int OldX1_disponibile, final int OldY1_disponibile,
final String Sentiero, final String NomeFile, final String descrizione) {
javax.swing.ImageIcon UnaIcona = new javax.swing.ImageIcon();
String SentieroNomeFile=Sentiero+"/"+NomeFile;
java.net.URL imgURL = getClass().getResource(SentieroNomeFile);
if (imgURL != null) {
//new msgbox(""+imgURL);
UnaIcona = new javax.swing.ImageIcon(imgURL, descrizione);
} else {
String messaggio="Errore \u0021 \n";
messaggio=messaggio+"Non \u00e8 stato possibile trovare il file: ";
messaggio=messaggio+NomeFile+" \n";
new ViewerMessages(OldW9, OldH9, OldX9, OldY9, NomeFile, OldWidth_disponibile,
OldHeight_disponibile, OldX1_disponibile, OldY1_disponibile, messaggio);
}
return UnaIcona;
}
private void chiamataCalcola(final int OldW9, final int OldH9, final int OldX9,
final int OldY9, final String CaptionBottone, final int OldWidth_disponibile,
final int OldHeight_disponibile, final int OldX1_disponibile,
final int OldY1_disponibile) {
double EnergiaLocaleMev=0;
String AlfaEnergiaLocale="";
String kk1="";
String kk2="";
double d1=0;
String messaggio="";
int RigaSelezionata = griglia.getSelectedRow();
energianecessaria energianecessaria = new energianecessaria(OldW9, OldH9, OldX9,
OldY9, CaptionBottone, OldWidth_disponibile, OldHeight_disponibile, OldX1_disponibile,
OldY1_disponibile, RigaSelezionata, oggetti, oProtone, oDeuterio, oTrizio, oElio, oNeon,
oArgon, oKripton, oXeno, oRadon, CheckDebug);
EnergiaLocaleMev=energianecessaria.getEnergiaFinaleMev();
if (CheckKiloEv.isSelected()) {
if (EnergiaLocaleMev < 1) {
d1=EnergiaLocaleMev*1000;
if (CheckTagliaDecimali.isSelected()) {
AlfaEnergiaLocale=module99.MyFormat(d1, (byte)2, false, italiano, EsteticaEsp);
messaggio="energia = "+AlfaEnergiaLocale+" chiloelettronvolt";
}else{
AlfaEnergiaLocale=Double.toString(d1);
messaggio="energia = "+AlfaEnergiaLocale+" chiloelettronvolt";
}
}else{
if (CheckTagliaDecimali.isSelected()) {
AlfaEnergiaLocale=module99.MyFormat(EnergiaLocaleMev, (byte)2, false, italiano, EsteticaEsp);
messaggio="energia = "+AlfaEnergiaLocale+" Mev";
}else{
AlfaEnergiaLocale=Double.toString(EnergiaLocaleMev);
messaggio="energia = "+AlfaEnergiaLocale+" Mev";
}
}
}else{
if (CheckTagliaDecimali.isSelected()) {
AlfaEnergiaLocale=module99.MyFormat(EnergiaLocaleMev, (byte)2, false, italiano, EsteticaEsp);
messaggio="energia = "+AlfaEnergiaLocale+" Mev";
}else{
AlfaEnergiaLocale=Double.toString(EnergiaLocaleMev);
messaggio="energia = "+AlfaEnergiaLocale+" Mev";
}
}
new ViewerMessages(OldW9, OldH9, OldX9, OldY9, CaptionBottone, OldWidth_disponibile,
OldHeight_disponibile, OldX1_disponibile, OldY1_disponibile, messaggio);
}
private void chiamataProgetta(final int OldW9, final int OldH9, final int OldX9,
final int OldY9, final String OldAppName, final float OldVersione,
final String OldWebsite, final String CaptionBottone,
final int OldWidth_disponibile, final int OldHeight_disponibile,
final int OldX1_disponibile, final int OldY1_disponibile) {
String kk1="";
String kk2="";
boolean swErroreInterno=false;
boolean sw1=false;
double FlussoMagnetico=0;
double SpazioVuoto=0;
double aggiunta=0;
String NomeProiettile="";
int NumeroAtomico=0;
double MassaRiposo=0;
double EnergiaFinaleMev=0;
byte TipoDouble=0;
byte TipoFloat=1;
byte TipoLong=2;
byte TipoInt=3;
byte TipoShort=4;
byte TipoByte=5;
try {
int RigaSelezionata = griglia.getSelectedRow();
energianecessaria energianecessaria = new energianecessaria(OldW9, OldH9, OldX9,
OldY9, CaptionBottone, OldWidth_disponibile, OldHeight_disponibile, OldX1_disponibile,
OldY1_disponibile, RigaSelezionata, oggetti, oProtone, oDeuterio, oTrizio, oElio, oNeon,
oArgon, oKripton, oXeno, oRadon, CheckDebug);
NomeProiettile=energianecessaria.getNomeProiettile();
NumeroAtomico=energianecessaria.getNumeroAtomico();
MassaRiposo=energianecessaria.getMassaRiposo();
EnergiaFinaleMev=energianecessaria.getEnergiaFinaleMev();
if (VuolePerderePrecisione) {
//--- inizio vuole perdere precisione ---
kk1=module99.MyFormat(EnergiaFinaleMev, (byte)2, false, italiano, EsteticaEsp);
kk2=module99.ReplaceCommaWithPoint(kk1,true);
EnergiaFinaleMev=Double.parseDouble(kk2);
//--- inizio vuole perdere precisione ---
}
//--- inizio FlussoMagnetico in tesla ---
FromTextField verifica = new FromTextField(tFlussoMagnetico, lFlussoMagnetico.getText(), TipoDouble, false, false);
swErroreInterno=verifica.getSwErr();
if (swErroreInterno) {
new ViewerMessages(OldW9, OldH9, OldX9, OldY9, "ERRORE", OldWidth_disponibile,
OldHeight_disponibile, OldX1_disponibile, OldY1_disponibile, verifica.getSegnaleErr());
}else{
FlussoMagnetico=verifica.getD1();
}
//--- fine FlussoMagnetico in tesla ---
if (swErroreInterno == false) {
//--- inizio aggiunta ---
verifica = new FromTextField(tAggiunta, manoscritti[0].getText(), TipoDouble, false, false);
swErroreInterno=verifica.getSwErr();
if (swErroreInterno) {
new ViewerMessages(OldW9, OldH9, OldX9, OldY9, "ERRORE", OldWidth_disponibile,
OldHeight_disponibile, OldX1_disponibile, OldY1_disponibile, verifica.getSegnaleErr());
}else{
aggiunta=verifica.getD1();
}
//--- fine aggiunta ---
}
if (swErroreInterno == false) {
String Target=(String) oggetti[RigaSelezionata][1];
EnergiaFinaleMev=EnergiaFinaleMev+aggiunta;
int larghezza_ciclo=600;
int altezza_ciclo=1200;
int x1_ciclo=(OldW9-larghezza_ciclo)/2;
x1_ciclo=x1_ciclo+OldX9;
int y1_ciclo=(OldH9-altezza_ciclo)/2;
y1_ciclo=y1_ciclo+OldY9;
AggiustaCoordinate NuoveCoordinate = new AggiustaCoordinate(OldWidth_disponibile,
OldHeight_disponibile, OldX1_disponibile, OldY1_disponibile, larghezza_ciclo,
altezza_ciclo, x1_ciclo, y1_ciclo);
x1_ciclo=NuoveCoordinate.getX();
y1_ciclo=NuoveCoordinate.getY();
larghezza_ciclo=NuoveCoordinate.getWidth();
altezza_ciclo=NuoveCoordinate.getHeight();
new ciclotrone(OldW9, OldH9, OldX9, OldY9, OldAppName, OldVersione,
OldWebsite, CaptionBottone, OldWidth_disponibile, OldHeight_disponibile,
OldX1_disponibile, OldY1_disponibile, larghezza_ciclo, altezza_ciclo,
x1_ciclo, y1_ciclo, NomeProiettile, Target, NumeroAtomico,
MassaRiposo, EnergiaFinaleMev, FlussoMagnetico);
}
} // end try
catch(Exception eer) {
String messaggio="errore in "+((char)34)+CaptionBottone+((char)34)+" \n \n";
messaggio=messaggio+eer.toString()+" \n";
new ViewerMessages(OldW9, OldH9, OldX9, OldY9, "ERRORE", OldWidth_disponibile,
OldHeight_disponibile, OldX1_disponibile, OldY1_disponibile, messaggio);
} //end catch
}
}
e questo è il codice sorgente di energianecessaria
- Codice: Seleziona tutto
import javax.swing.*;
public class energianecessaria {
private String NomeProiettile="";
private int NumeroAtomico=0;
private double MassaRiposo=0.0d;
private double EnergiaFinaleMev=0.0d;
public energianecessaria (final int OldW9, final int OldH9, final int OldX9,
final int OldY9, final String OldTitolo, final int OldWidth_disponibile,
final int OldHeight_disponibile, final int OldX1_disponibile,
final int OldY1_disponibile, final int RigaSelezionata,
Object[][] MatriceAlfa, JRadioButton oProtone, JRadioButton oDeuterio,
JRadioButton oTrizio, JRadioButton oElio, JRadioButton oNeon,
JRadioButton oArgon, JRadioButton oKripton, JRadioButton oXeno,
JRadioButton oRadon, JCheckBox CheckDebug) {
int A1=0;
int Z2=0;
int A2=0;
String kk1="";
String messaggio="";
if (RigaSelezionata == -1){
messaggio="Devi prima selezionare un target";
new ViewerMessages(OldW9, OldH9, OldX9, OldY9, OldTitolo, OldWidth_disponibile,
OldHeight_disponibile, OldX1_disponibile, OldY1_disponibile, messaggio);
}else{
boolean sw1=false;
boolean sw2=false;
sw1=oProtone.isSelected();
if (sw1 == true) {
sw2=true;
NomeProiettile="protone";
NumeroAtomico=1;
MassaRiposo=1.6726231*Math.pow(10,-27);
A1=1;
}
sw1=oDeuterio.isSelected();
if (sw1 == true) {
sw2=true;
NomeProiettile="deuterio";
NumeroAtomico=1;
MassaRiposo=3.343586*Math.pow(10,-27);
A1=2;
}
sw1=oTrizio.isSelected();
if (sw1 == true) {
sw2=true;
NomeProiettile="trizio";
NumeroAtomico=1;
MassaRiposo=5.008*Math.pow(10,-27);
A1=3;
}
sw1=oElio.isSelected();
if (sw1 == true) {
sw2=true;
NomeProiettile="elio";
NumeroAtomico=2;
MassaRiposo=6.64*Math.pow(10,-27);
A1=4;
}
sw1=oNeon.isSelected();
if (sw1 == true) {
sw2=true;
NomeProiettile="neon";
NumeroAtomico=10;
MassaRiposo=3.34*Math.pow(10,-26);
A1=20;
}
sw1=oArgon.isSelected();
if (sw1 == true) {
sw2=true;
NomeProiettile="argon";
NumeroAtomico=18;
MassaRiposo=6.63*Math.pow(10,-26);
A1=40;
}
sw1=oKripton.isSelected();
if (sw1 == true) {
sw2=true;
NomeProiettile="kripton";
NumeroAtomico=36;
MassaRiposo=1.39*Math.pow(10,-25);
A1=84;
}
sw1=oXeno.isSelected();
if (sw1 == true) {
sw2=true;
NomeProiettile="xeno";
NumeroAtomico=54;
MassaRiposo=2.18*Math.pow(10,-25);
A1=132;
}
sw1=oRadon.isSelected();
if (sw1 == true) {
sw2=true;
NomeProiettile="radon";
NumeroAtomico=86;
MassaRiposo=3.68*Math.pow(10,-25);
A1=222;
}
if (sw2 == false) {
messaggio="Devi prima selezionare un tipo di proiettile";
new ViewerMessages(OldW9, OldH9, OldX9, OldY9, OldTitolo, OldWidth_disponibile,
OldHeight_disponibile, OldX1_disponibile, OldY1_disponibile, messaggio);
}else{
kk1=""+MatriceAlfa[RigaSelezionata][0]; //Object int is not int
Z2=Integer.parseInt(kk1);
kk1=""+MatriceAlfa[RigaSelezionata][3]; //Object int is not int
A2=Integer.parseInt(kk1);
double d1=Math.pow(A1, (double)1/3);
double d2=Math.pow(A2, (double)1/3);
double somma=d1+d2;
sw1=CheckDebug.isSelected();
if (sw1 == true) {
//--- inizio DEBUG ---
messaggio="come proiettile hai selezionato \n";
messaggio=messaggio+NomeProiettile+" \n";
messaggio=messaggio+"NumeroAtomico = "+NumeroAtomico+" \n";
messaggio=messaggio+"A1 = "+A1+" \n \n \n";
messaggio=messaggio+"come target hai selezionato \n";
messaggio=messaggio+MatriceAlfa[RigaSelezionata][1]+" \n";
messaggio=messaggio+"simbolo = "+MatriceAlfa[RigaSelezionata][2]+" \n";
messaggio=messaggio+"Z2 = "+Z2+" \n";
messaggio=messaggio+"A2 = "+A2+" \n \n \n";
messaggio=messaggio+"d1=Math.pow(A1,1/3) d1 = "+d1+" \n";
messaggio=messaggio+"d2=Math.pow(A2,1/3) d2 = "+d2+" \n";
messaggio=messaggio+"somma=d1+d2 somma = "+somma+" \n";
new ViewerMessages(OldW9, OldH9, OldX9, OldY9, OldTitolo, OldWidth_disponibile,
OldHeight_disponibile, OldX1_disponibile, OldY1_disponibile, messaggio);
//--- fine DEBUG ---
}
EnergiaFinaleMev=(0.9*NumeroAtomico*Z2)/somma;
}
}
}
public String getNomeProiettile() {
return NomeProiettile;
}
public int getNumeroAtomico() {
return NumeroAtomico;
}
public double getMassaRiposo() {
return MassaRiposo;
}
public double getEnergiaFinaleMev() {
return EnergiaFinaleMev;
}
}
e questo è il codice sorgente di ViewerMessages
- Codice: Seleziona tutto
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ViewerMessages extends JDialog {
private JPanel panSud = new JPanel();
private JTextArea lMessaggio = new JTextArea("");
private JLabel etichetta = new JLabel("");
private JButton bOk = new JButton("OK");
public ViewerMessages(final int OldW9, final int OldH9, final int OldX9,
final int OldY9, final String OldTitolo, final int OldWidth_disponibile,
final int OldHeight_disponibile, final int OldX1_disponibile,
final int OldY1_disponibile, final String OldMsg) {
//--- inizio dichiarazioni interne ---
java.awt.Font default_font_bold = new Font("Default", java.awt.Font.BOLD, 12);
//--- fine dichiarazioni interne ---
//--- inizio impostare le controls ---
JScrollPane barreCentro;
boolean MessCorto=getMessCorto(OldMsg);
if (MessCorto) {
etichetta.setText(OldMsg);
barreCentro = new JScrollPane(etichetta);
}else{
lMessaggio.setText(OldMsg);
lMessaggio.setEditable(false);
JFrame mioframe = new JFrame();
Color ColoreSfondo = mioframe.getBackground();
lMessaggio.setBackground(ColoreSfondo);
lMessaggio.setFont(default_font_bold);
barreCentro = new JScrollPane(lMessaggio);
}
//--- fine impostare le controls ---
//--- inizio eventi ---
bOk.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dispose();
}
});
//--- fine eventi ---
//--- inizio panSud ---
panSud.setLayout(new GridBagLayout());
GridBagConstraints cSud = new GridBagConstraints();
cSud.fill = GridBagConstraints.VERTICAL;
cSud.anchor = GridBagConstraints.CENTER;
//Insets(up,left,bottom,right);
cSud.insets = new Insets(5,0,5,0);
cSud.gridx = 0;
byte coy=-1;
if (MessCorto) {
coy++; cSud.gridy=coy; panSud.add(etichetta, cSud);
}
coy++; cSud.gridy=coy; panSud.add(bOk, cSud);
//--- fine panSud ---
this.getContentPane().setLayout(new BorderLayout());
if (MessCorto == false) {
this.getContentPane().add(BorderLayout.CENTER, barreCentro);
}
this.getContentPane().add(BorderLayout.SOUTH, panSud);
this.pack();
int larghezza=this.getWidth()+50;
int altezza=10;
if (MessCorto) {
altezza=this.getHeight();
}else{
altezza=this.getHeight()+50;
}
this.setSize(larghezza, altezza);
int x1=OldX9+(OldW9-larghezza)/2;
int y1=OldY9+(OldH9-altezza)/2;
if (x1 < OldX1_disponibile) {
x1=OldX1_disponibile;
}
if (y1 < OldY1_disponibile) {
y1=OldY1_disponibile;
}
int x2=x1+larghezza;
int y2=y1+altezza;
int x2_disponibile=OldX1_disponibile+OldWidth_disponibile;
int y2_disponibile=OldY1_disponibile+OldHeight_disponibile;
if (x2 > x2_disponibile) {
int x1_temp=x2_disponibile-larghezza;
if (x1_temp < 0) {
larghezza=OldWidth_disponibile;
x1=OldX1_disponibile;
}else{
x1=x1_temp;
}
this.setSize(larghezza, altezza);
}
if (y2 > y2_disponibile) {
int y1_temp=y2_disponibile-altezza;
if (y1_temp < 0) {
altezza=OldHeight_disponibile;
y1=OldY1_disponibile;
}else{
y1=y1_temp;
}
this.setSize(larghezza, altezza);
}
//this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
this.setLocation(x1, y1);
this.setTitle(OldTitolo);
this.setModal(true);
//bButton1.doClick();
this.setVisible(true);
}
private static boolean getMessCorto(final String messaggio) {
boolean sw1=false;
int n1=messaggio.length();
int n2=messaggio.indexOf("\n");
if (n1 < 30) {
if (n2 < 0) {
sw1=true;
}else{
int n3=n2+2;
if (n3 > n1) {
sw1=true;
}
}
}
return sw1;
}
}
Quindi adesso potete stare tranquilli perché potete compilare il codice sogente e mandarlo in esecuzione.

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)
instead of
(Anonimo).
ain't
, right?
in lieu of
.
for
arithm.

Quanti ciclotroni hai progettato in vita tua?
pigreco]=π



