Alguem tem algum codigo fonte de uma Calculadora Cientiica , Orientada a Objetos.
vlw
To pretendendo fazer duas calculadoras uma Basica e Uma Cientifica , Com Swing e queria saber para mim fazer Herança Tenho q Criar um Painel aonde vai receber as duas Calculadoraras? Alguem tem uma Opnião Sgestão?
Crie um JTabbedPane, você poderá fazer uma calculadora com dois modos de forma fácil. Um exemplo:
package guj;
import java.awt.BorderLayout;
public class ExemploJTabbedPaneCalculadora extends JFrame {
private JPanel contentPane;
private JTabbedPane tabbedPane;
private JPanel pnlBasica;
private JPanel pnlCientifica;
private JTextField txtBasica;
private JTextField txtCientifica;
private JPanel pnlBotoesBasica;
private JButton button;
private JButton button_1;
private JButton button_2;
private JButton button_3;
private JButton button_4;
private JButton button_5;
private JButton button_6;
private JButton button_7;
private JButton button_8;
private JButton button_9;
private JButton button_10;
private JButton button_11;
private JButton button_12;
private JButton button_13;
private JButton button_14;
private JButton button_15;
private JButton button_16;
private JPanel pnlBotoesCientifica;
private JButton btnSin;
private JButton btnCos;
private JButton btnTan;
private JButton btnExp;
private JButton btnLn;
private JButton button_17;
private JButton button_18;
private JButton button_19;
private JButton button_20;
private JButton button_21;
private JButton button_22;
private JButton button_23;
private JButton button_24;
private JButton button_25;
private JButton button_26;
private JButton button_27;
private JButton button_28;
private JButton button_29;
private JButton button_30;
private JButton btnE;
private JButton button_31;
private JButton btnC;
private JButton button_32;
private JButton btnC_1;
private JButton btnSqrt;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
ExemploJTabbedPaneCalculadora frame = new ExemploJTabbedPaneCalculadora();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public ExemploJTabbedPaneCalculadora() {
setTitle("Calculadora");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
contentPane.add(getTabbedPane(), BorderLayout.CENTER);
}
private JTabbedPane getTabbedPane() {
if (tabbedPane == null) {
tabbedPane = new JTabbedPane(JTabbedPane.TOP);
tabbedPane.addTab("Basica", null, getPnlBasica(), null);
tabbedPane.addTab("Cient\u00EDfica", null, getPnlCientifica(), null);
}
return tabbedPane;
}
private JPanel getPnlBasica() {
if (pnlBasica == null) {
pnlBasica = new JPanel();
pnlBasica.setLayout(new BorderLayout(0, 0));
pnlBasica.add(getTxtBasica(), BorderLayout.NORTH);
pnlBasica.add(getPnlBotoesBasica(), BorderLayout.CENTER);
}
return pnlBasica;
}
private JPanel getPnlCientifica() {
if (pnlCientifica == null) {
pnlCientifica = new JPanel();
pnlCientifica.setLayout(new BorderLayout(0, 0));
pnlCientifica.add(getTxtCientifica(), BorderLayout.NORTH);
pnlCientifica.add(getPnlBotoesCientifica(), BorderLayout.CENTER);
}
return pnlCientifica;
}
private JTextField getTxtBasica() {
if (txtBasica == null) {
txtBasica = new JTextField();
txtBasica.setColumns(10);
}
return txtBasica;
}
private JTextField getTxtCientifica() {
if (txtCientifica == null) {
txtCientifica = new JTextField();
txtCientifica.setColumns(10);
}
return txtCientifica;
}
private JPanel getPnlBotoesBasica() {
if (pnlBotoesBasica == null) {
pnlBotoesBasica = new JPanel();
GridBagLayout gbl_pnlBotoesBasica = new GridBagLayout();
gbl_pnlBotoesBasica.columnWidths = new int[] {
0, 0, 0, 0, 0, 0
};
gbl_pnlBotoesBasica.rowHeights = new int[] {
0, 0, 0, 0, 0, 0
};
gbl_pnlBotoesBasica.columnWeights = new double[] {
0.0, 0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE
};
gbl_pnlBotoesBasica.rowWeights = new double[] {
0.0, 0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE
};
pnlBotoesBasica.setLayout(gbl_pnlBotoesBasica);
GridBagConstraints gbc_button = new GridBagConstraints();
gbc_button.insets = new Insets(0, 0, 5, 5);
gbc_button.gridx = 0;
gbc_button.gridy = 0;
pnlBotoesBasica.add(getButton(), gbc_button);
GridBagConstraints gbc_button_1 = new GridBagConstraints();
gbc_button_1.insets = new Insets(0, 0, 5, 5);
gbc_button_1.gridx = 1;
gbc_button_1.gridy = 0;
pnlBotoesBasica.add(getButton_1(), gbc_button_1);
GridBagConstraints gbc_button_2 = new GridBagConstraints();
gbc_button_2.insets = new Insets(0, 0, 5, 5);
gbc_button_2.gridx = 2;
gbc_button_2.gridy = 0;
pnlBotoesBasica.add(getButton_2(), gbc_button_2);
GridBagConstraints gbc_button_11 = new GridBagConstraints();
gbc_button_11.insets = new Insets(0, 0, 5, 5);
gbc_button_11.gridx = 3;
gbc_button_11.gridy = 0;
pnlBotoesBasica.add(getButton_11(), gbc_button_11);
GridBagConstraints gbc_button_3 = new GridBagConstraints();
gbc_button_3.insets = new Insets(0, 0, 5, 5);
gbc_button_3.gridx = 0;
gbc_button_3.gridy = 1;
pnlBotoesBasica.add(getButton_3(), gbc_button_3);
GridBagConstraints gbc_button_4 = new GridBagConstraints();
gbc_button_4.insets = new Insets(0, 0, 5, 5);
gbc_button_4.gridx = 1;
gbc_button_4.gridy = 1;
pnlBotoesBasica.add(getButton_4(), gbc_button_4);
GridBagConstraints gbc_button_5 = new GridBagConstraints();
gbc_button_5.insets = new Insets(0, 0, 5, 5);
gbc_button_5.gridx = 2;
gbc_button_5.gridy = 1;
pnlBotoesBasica.add(getButton_5(), gbc_button_5);
GridBagConstraints gbc_button_12 = new GridBagConstraints();
gbc_button_12.insets = new Insets(0, 0, 5, 5);
gbc_button_12.gridx = 3;
gbc_button_12.gridy = 1;
pnlBotoesBasica.add(getButton_12(), gbc_button_12);
GridBagConstraints gbc_button_6 = new GridBagConstraints();
gbc_button_6.insets = new Insets(0, 0, 5, 5);
gbc_button_6.gridx = 0;
gbc_button_6.gridy = 2;
pnlBotoesBasica.add(getButton_6(), gbc_button_6);
GridBagConstraints gbc_button_7 = new GridBagConstraints();
gbc_button_7.insets = new Insets(0, 0, 5, 5);
gbc_button_7.gridx = 1;
gbc_button_7.gridy = 2;
pnlBotoesBasica.add(getButton_7(), gbc_button_7);
GridBagConstraints gbc_button_8 = new GridBagConstraints();
gbc_button_8.insets = new Insets(0, 0, 5, 5);
gbc_button_8.gridx = 2;
gbc_button_8.gridy = 2;
pnlBotoesBasica.add(getButton_8(), gbc_button_8);
GridBagConstraints gbc_button_13 = new GridBagConstraints();
gbc_button_13.insets = new Insets(0, 0, 5, 5);
gbc_button_13.gridx = 3;
gbc_button_13.gridy = 2;
pnlBotoesBasica.add(getButton_13(), gbc_button_13);
GridBagConstraints gbc_button_9 = new GridBagConstraints();
gbc_button_9.fill = GridBagConstraints.BOTH;
gbc_button_9.gridwidth = 2;
gbc_button_9.insets = new Insets(0, 0, 5, 5);
gbc_button_9.gridx = 0;
gbc_button_9.gridy = 3;
pnlBotoesBasica.add(getButton_9(), gbc_button_9);
GridBagConstraints gbc_button_10 = new GridBagConstraints();
gbc_button_10.insets = new Insets(0, 0, 5, 5);
gbc_button_10.gridx = 2;
gbc_button_10.gridy = 3;
pnlBotoesBasica.add(getButton_10(), gbc_button_10);
GridBagConstraints gbc_button_14 = new GridBagConstraints();
gbc_button_14.insets = new Insets(0, 0, 5, 5);
gbc_button_14.gridx = 3;
gbc_button_14.gridy = 3;
pnlBotoesBasica.add(getButton_14(), gbc_button_14);
GridBagConstraints gbc_btnC = new GridBagConstraints();
gbc_btnC.insets = new Insets(0, 0, 0, 5);
gbc_btnC.gridx = 0;
gbc_btnC.gridy = 4;
pnlBotoesBasica.add(getBtnC(), gbc_btnC);
GridBagConstraints gbc_button_16 = new GridBagConstraints();
gbc_button_16.fill = GridBagConstraints.HORIZONTAL;
gbc_button_16.gridwidth = 2;
gbc_button_16.insets = new Insets(0, 0, 0, 5);
gbc_button_16.gridx = 1;
gbc_button_16.gridy = 4;
pnlBotoesBasica.add(getButton_16(), gbc_button_16);
GridBagConstraints gbc_button_15 = new GridBagConstraints();
gbc_button_15.insets = new Insets(0, 0, 0, 5);
gbc_button_15.gridx = 3;
gbc_button_15.gridy = 4;
pnlBotoesBasica.add(getButton_15(), gbc_button_15);
}
return pnlBotoesBasica;
}
private JButton getButton() {
if (button == null) {
button = new JButton("7");
}
return button;
}
private JButton getButton_1() {
if (button_1 == null) {
button_1 = new JButton("8");
}
return button_1;
}
private JButton getButton_2() {
if (button_2 == null) {
button_2 = new JButton("9");
}
return button_2;
}
private JButton getButton_3() {
if (button_3 == null) {
button_3 = new JButton("4");
}
return button_3;
}
private JButton getButton_4() {
if (button_4 == null) {
button_4 = new JButton("5");
}
return button_4;
}
private JButton getButton_5() {
if (button_5 == null) {
button_5 = new JButton("6");
}
return button_5;
}
private JButton getButton_6() {
if (button_6 == null) {
button_6 = new JButton("1");
}
return button_6;
}
private JButton getButton_7() {
if (button_7 == null) {
button_7 = new JButton("2");
}
return button_7;
}
private JButton getButton_8() {
if (button_8 == null) {
button_8 = new JButton("3");
}
return button_8;
}
private JButton getButton_9() {
if (button_9 == null) {
button_9 = new JButton("0");
}
return button_9;
}
private JButton getButton_10() {
if (button_10 == null) {
button_10 = new JButton(",");
}
return button_10;
}
private JButton getButton_11() {
if (button_11 == null) {
button_11 = new JButton("+");
}
return button_11;
}
private JButton getButton_12() {
if (button_12 == null) {
button_12 = new JButton("-");
}
return button_12;
}
private JButton getButton_13() {
if (button_13 == null) {
button_13 = new JButton("*");
}
return button_13;
}
private JButton getButton_14() {
if (button_14 == null) {
button_14 = new JButton("/");
}
return button_14;
}
private JButton getButton_15() {
if (button_15 == null) {
button_15 = new JButton("%");
}
return button_15;
}
private JButton getButton_16() {
if (button_16 == null) {
button_16 = new JButton("=");
}
return button_16;
}
private JPanel getPnlBotoesCientifica() {
if (pnlBotoesCientifica == null) {
pnlBotoesCientifica = new JPanel();
GridBagLayout gbl_pnlBotoesCientifica = new GridBagLayout();
gbl_pnlBotoesCientifica.columnWidths = new int[] {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
gbl_pnlBotoesCientifica.rowHeights = new int[] {
0, 0, 0, 0, 0, 0
};
gbl_pnlBotoesCientifica.columnWeights = new double[] {
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE
};
gbl_pnlBotoesCientifica.rowWeights = new double[] {
0.0, 0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE
};
pnlBotoesCientifica.setLayout(gbl_pnlBotoesCientifica);
GridBagConstraints gbc_btnSin = new GridBagConstraints();
gbc_btnSin.insets = new Insets(0, 0, 5, 5);
gbc_btnSin.gridx = 0;
gbc_btnSin.gridy = 0;
pnlBotoesCientifica.add(getBtnSin(), gbc_btnSin);
GridBagConstraints gbc_btnCos = new GridBagConstraints();
gbc_btnCos.insets = new Insets(0, 0, 5, 5);
gbc_btnCos.gridx = 1;
gbc_btnCos.gridy = 0;
pnlBotoesCientifica.add(getBtnCos(), gbc_btnCos);
GridBagConstraints gbc_btnTan = new GridBagConstraints();
gbc_btnTan.insets = new Insets(0, 0, 5, 5);
gbc_btnTan.gridx = 2;
gbc_btnTan.gridy = 0;
pnlBotoesCientifica.add(getBtnTan(), gbc_btnTan);
GridBagConstraints gbc_btnExp = new GridBagConstraints();
gbc_btnExp.insets = new Insets(0, 0, 5, 5);
gbc_btnExp.gridx = 3;
gbc_btnExp.gridy = 0;
pnlBotoesCientifica.add(getBtnExp(), gbc_btnExp);
GridBagConstraints gbc_btnLn = new GridBagConstraints();
gbc_btnLn.insets = new Insets(0, 0, 5, 5);
gbc_btnLn.gridx = 4;
gbc_btnLn.gridy = 0;
pnlBotoesCientifica.add(getBtnLn(), gbc_btnLn);
GridBagConstraints gbc_button_17 = new GridBagConstraints();
gbc_button_17.insets = new Insets(0, 0, 5, 5);
gbc_button_17.gridx = 5;
gbc_button_17.gridy = 0;
pnlBotoesCientifica.add(getButton_17(), gbc_button_17);
GridBagConstraints gbc_button_18 = new GridBagConstraints();
gbc_button_18.insets = new Insets(0, 0, 5, 5);
gbc_button_18.gridx = 6;
gbc_button_18.gridy = 0;
pnlBotoesCientifica.add(getButton_18(), gbc_button_18);
GridBagConstraints gbc_button_19 = new GridBagConstraints();
gbc_button_19.insets = new Insets(0, 0, 5, 5);
gbc_button_19.gridx = 7;
gbc_button_19.gridy = 0;
pnlBotoesCientifica.add(getButton_19(), gbc_button_19);
GridBagConstraints gbc_button_20 = new GridBagConstraints();
gbc_button_20.insets = new Insets(0, 0, 5, 0);
gbc_button_20.gridx = 8;
gbc_button_20.gridy = 0;
pnlBotoesCientifica.add(getButton_20(), gbc_button_20);
GridBagConstraints gbc_btnSqrt = new GridBagConstraints();
gbc_btnSqrt.insets = new Insets(0, 0, 5, 5);
gbc_btnSqrt.gridx = 0;
gbc_btnSqrt.gridy = 1;
pnlBotoesCientifica.add(getBtnSqrt(), gbc_btnSqrt);
GridBagConstraints gbc_button_24 = new GridBagConstraints();
gbc_button_24.insets = new Insets(0, 0, 5, 5);
gbc_button_24.gridx = 5;
gbc_button_24.gridy = 1;
pnlBotoesCientifica.add(getButton_24(), gbc_button_24);
GridBagConstraints gbc_button_25 = new GridBagConstraints();
gbc_button_25.insets = new Insets(0, 0, 5, 5);
gbc_button_25.gridx = 6;
gbc_button_25.gridy = 1;
pnlBotoesCientifica.add(getButton_25(), gbc_button_25);
GridBagConstraints gbc_button_26 = new GridBagConstraints();
gbc_button_26.insets = new Insets(0, 0, 5, 5);
gbc_button_26.gridx = 7;
gbc_button_26.gridy = 1;
pnlBotoesCientifica.add(getButton_26(), gbc_button_26);
GridBagConstraints gbc_button_21 = new GridBagConstraints();
gbc_button_21.insets = new Insets(0, 0, 5, 0);
gbc_button_21.gridx = 8;
gbc_button_21.gridy = 1;
pnlBotoesCientifica.add(getButton_21(), gbc_button_21);
GridBagConstraints gbc_button_27 = new GridBagConstraints();
gbc_button_27.insets = new Insets(0, 0, 5, 5);
gbc_button_27.gridx = 5;
gbc_button_27.gridy = 2;
pnlBotoesCientifica.add(getButton_27(), gbc_button_27);
GridBagConstraints gbc_button_28 = new GridBagConstraints();
gbc_button_28.insets = new Insets(0, 0, 5, 5);
gbc_button_28.gridx = 6;
gbc_button_28.gridy = 2;
pnlBotoesCientifica.add(getButton_28(), gbc_button_28);
GridBagConstraints gbc_button_29 = new GridBagConstraints();
gbc_button_29.insets = new Insets(0, 0, 5, 5);
gbc_button_29.gridx = 7;
gbc_button_29.gridy = 2;
pnlBotoesCientifica.add(getButton_29(), gbc_button_29);
GridBagConstraints gbc_button_22 = new GridBagConstraints();
gbc_button_22.insets = new Insets(0, 0, 5, 0);
gbc_button_22.gridx = 8;
gbc_button_22.gridy = 2;
pnlBotoesCientifica.add(getButton_22(), gbc_button_22);
GridBagConstraints gbc_button_30 = new GridBagConstraints();
gbc_button_30.insets = new Insets(0, 0, 5, 5);
gbc_button_30.gridx = 5;
gbc_button_30.gridy = 3;
pnlBotoesCientifica.add(getButton_30(), gbc_button_30);
GridBagConstraints gbc_btnE = new GridBagConstraints();
gbc_btnE.insets = new Insets(0, 0, 5, 5);
gbc_btnE.gridx = 6;
gbc_btnE.gridy = 3;
pnlBotoesCientifica.add(getBtnE(), gbc_btnE);
GridBagConstraints gbc_button_31 = new GridBagConstraints();
gbc_button_31.insets = new Insets(0, 0, 5, 5);
gbc_button_31.gridx = 7;
gbc_button_31.gridy = 3;
pnlBotoesCientifica.add(getButton_31(), gbc_button_31);
GridBagConstraints gbc_button_23 = new GridBagConstraints();
gbc_button_23.insets = new Insets(0, 0, 5, 0);
gbc_button_23.gridx = 8;
gbc_button_23.gridy = 3;
pnlBotoesCientifica.add(getButton_23(), gbc_button_23);
GridBagConstraints gbc_btnC_1 = new GridBagConstraints();
gbc_btnC_1.insets = new Insets(0, 0, 0, 5);
gbc_btnC_1.gridx = 6;
gbc_btnC_1.gridy = 4;
pnlBotoesCientifica.add(getBtnC_1(), gbc_btnC_1);
GridBagConstraints gbc_button_32 = new GridBagConstraints();
gbc_button_32.fill = GridBagConstraints.HORIZONTAL;
gbc_button_32.gridwidth = 2;
gbc_button_32.gridx = 7;
gbc_button_32.gridy = 4;
pnlBotoesCientifica.add(getButton_32(), gbc_button_32);
}
return pnlBotoesCientifica;
}
private JButton getBtnSin() {
if (btnSin == null) {
btnSin = new JButton("sin");
}
return btnSin;
}
private JButton getBtnCos() {
if (btnCos == null) {
btnCos = new JButton("cos");
}
return btnCos;
}
private JButton getBtnTan() {
if (btnTan == null) {
btnTan = new JButton("tan");
}
return btnTan;
}
private JButton getBtnExp() {
if (btnExp == null) {
btnExp = new JButton("exp");
}
return btnExp;
}
private JButton getBtnLn() {
if (btnLn == null) {
btnLn = new JButton("ln");
}
return btnLn;
}
private JButton getButton_17() {
if (button_17 == null) {
button_17 = new JButton("7");
}
return button_17;
}
private JButton getButton_18() {
if (button_18 == null) {
button_18 = new JButton("8");
}
return button_18;
}
private JButton getButton_19() {
if (button_19 == null) {
button_19 = new JButton("9");
}
return button_19;
}
private JButton getButton_20() {
if (button_20 == null) {
button_20 = new JButton("+");
}
return button_20;
}
private JButton getButton_21() {
if (button_21 == null) {
button_21 = new JButton("-");
}
return button_21;
}
private JButton getButton_22() {
if (button_22 == null) {
button_22 = new JButton("*");
}
return button_22;
}
private JButton getButton_23() {
if (button_23 == null) {
button_23 = new JButton("/");
}
return button_23;
}
private JButton getButton_24() {
if (button_24 == null) {
button_24 = new JButton("4");
}
return button_24;
}
private JButton getButton_25() {
if (button_25 == null) {
button_25 = new JButton("5");
}
return button_25;
}
private JButton getButton_26() {
if (button_26 == null) {
button_26 = new JButton("6");
}
return button_26;
}
private JButton getButton_27() {
if (button_27 == null) {
button_27 = new JButton("1");
}
return button_27;
}
private JButton getButton_28() {
if (button_28 == null) {
button_28 = new JButton("2");
}
return button_28;
}
private JButton getButton_29() {
if (button_29 == null) {
button_29 = new JButton("3");
}
return button_29;
}
private JButton getButton_30() {
if (button_30 == null) {
button_30 = new JButton("0");
}
return button_30;
}
private JButton getBtnE() {
if (btnE == null) {
btnE = new JButton("E");
}
return btnE;
}
private JButton getButton_31() {
if (button_31 == null) {
button_31 = new JButton(",");
}
return button_31;
}
private JButton getBtnC() {
if (btnC == null) {
btnC = new JButton("C");
}
return btnC;
}
private JButton getButton_32() {
if (button_32 == null) {
button_32 = new JButton("=");
}
return button_32;
}
private JButton getBtnC_1() {
if (btnC_1 == null) {
btnC_1 = new JButton("C");
}
return btnC_1;
}
private JButton getBtnSqrt() {
if (btnSqrt == null) {
btnSqrt = new JButton("sqrt");
}
return btnSqrt;
}
}
(Usei o GridBagLayout, que gera programas impossíveis de serem entendidos, em vez do MigLayout, só porque seu professor deve ser chato e não deve admitir o uso de MigLayout. )