Java [1242]

Zapisz się
Dodaj kartkę Dodaj bana
Powód wlepienia kartki
Wybierz wątek docelowy z listy lub wpisz jego ID
  • Kulek

    Mam problem z ograniczeniem ilosci cyfr wpisywanych jako skladowa1 i skladowa2 oraz z wyswietlaniem wyniku, tak zeby calosc miescila sie bez zmiany wielkosci.

    import java.awt.*;
    import java.awt.geom.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;

    public class Kalkulator
    {
    public static void main (String[] args)
    {
    RamkaKalkulatora ramka = new RamkaKalkulatora();
    ramka.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
    ramka.show();
    }
    }


    class RoundButton extends JButton {
    public RoundButton(String label) {
    super(label);

    Dimension size = getPreferredSize();
    size.width = size.height = Math.max(size.width, size.height);
    setPreferredSize(size);


    setContentAreaFilled(false);
    }





  • Kulek

    protected void paintComponent(Graphics g) {
    if (getModel().isArmed()) {

    g.setColor(Color.RED);
    } else {
    g.setColor(Color.white);//getB ackground());
    }
    g.fillRoundRect(1, 1, getSize().width-2 , getSize().height-2,(int)getSiz e().width/3,(int)getSize().hei ght/3);


    super.paintComponent(g);
    }


    protected void paintBorder(Graphics g) {
    g.setColor(getForeground());
    g.drawRoundRect(1, 1, getSize().width-2, getSize().height-2,
    (int)getSize().width/3,(int)ge tSize().height/3);
    }

    Shape shape;
    public boolean contains(int x, int y) {

    if (shape == null || !shape.getBounds().equals(getB ounds())) {
    shape = new RoundRectangle2D.Float(0, 0, getWidth(), getHeight(),
    (int)getSize().width/3,(int)ge tSize().height/3);
    }
    return shape.contains(x, y);
    }
    }


    class RamkaKalkulatora extends JFrame
    {

    public RamkaKalkulatora()
    {
    setTitle("Kalkulator");
    setSize(SZEROKOSC,WYSOKOSC);



    setResizable(false);
    int left = (int)(Toolkit.getDefaultToolki t().getScreenSize().getWidth() - SZEROKOSC)/2;
    int top = (int)(Toolkit.getDefaultToolki t().getScreenSize().getHeight( ) - WYSOKOSC)/2;
    this.setLocation(left,top);



    Container powierzchnia = getContentPane();
    poleSkladowej1 = new JTextField("",5);
    poleSkladowej1.setEditable(fal se);
    poleSkladowej2 = new JTextField("",5);
    poleSkladowej2.setEditable(fal se);
    poleWyniku = new JTextField("",5);
    poleWyniku.setEditable(false);

    label = new JLabel(" ");
    label1 = new JLabel("=");

    panelWyniku = new JPanel();
    panelWyniku.add(poleSkladowej1 );
    panelWyniku.add(label);
    panelWyniku.add(poleSkladowej2 );
    panelWyniku.add(label1);
    panelWyniku.add(poleWyniku);
    GridBagLayout g = new GridBagLayout();
    panelWyniku.setLayout(g);
    powierzchnia.add(panelWyniku, BorderLayout.NORTH);

    panelNumeryczny = new JPanel();
    panelNumeryczny.setLayout(new GridLayout(4,3));
    powierzchnia.add(panelNumerycz ny, BorderLayout.WEST);

  • Kulek

    RoundButton[] guzik = new RoundButton[10];
    for(int i=1; i<10; i++)
    {
    guzik = new RoundButton("" + i);
    panelNumeryczny.add(guzik);
    guzik.addActionListener(aCy fra);
    }
    g1 = new RoundButton("C");
    panelNumeryczny.add(g1);
    g1.addActionListener(aSymbol);
    g2 = new RoundButton("0");
    g2.addActionListener(aCyfra);
    panelNumeryczny.add(g2);
    g3 = new RoundButton(".");
    panelNumeryczny.add(g3);
    g3.addActionListener(aSymbol);

    panelPolecen = new JPanel();
    panelPolecen.setLayout(new GridLayout(5,1));
    powierzchnia.add(panelPolecen, java.awt.BorderLayout.EAST);
    p1 = new RoundButton("+");
    panelPolecen.add(p1);
    p1.addActionListener(aPoleceni e);
    p2 = new RoundButton("-");
    panelPolecen.add(p2);
    p2.addActionListener(aPoleceni e);
    p3 = new RoundButton("*");
    panelPolecen.add(p3);
    p3.addActionListener(aPoleceni e);
    p4 = new RoundButton("/");
    panelPolecen.add(p4);
    p4.addActionListener(aPoleceni e);
    p5 = new RoundButton("=");
    panelPolecen.add(p5);
    p5.addActionListener(aWynik);

    poleSkladowej=poleSkladowej1;
    }

    private ActionListener aCyfra= new ActionListener()
    {
    public void actionPerformed(ActionEvent e)
    {
    String name=((RoundButton)e.getSource ()).getText();
    poleSkladowej.setText(poleSkla dowej.getText() + name);
    }
    };

    private ActionListener aPolecenie= new ActionListener()
    {
    public void actionPerformed(ActionEvent e)
    {
    String name=((RoundButton)e.getSource ()).getText();
    label.setText(name);
    if(poleSkladowej1.getText()!=" ")
    poleSkladowej=poleSkladowej2;
    }
    };

    private ActionListener aSymbol= new ActionListener()
    {
    public void actionPerformed(ActionEvent e)
    {
    if(((RoundButton)e.getSource() ).getText()==".")
    poleSkladowej.setText(poleSkla dowej.getText() + ".");
    if(((RoundButton)e.getSource() ).getText()=="C")
    wyzeruj();
    }
    };
    private ActionListener aWynik= new ActionListener()
    {
    public void actionPerformed(ActionEvent e)
    {
    i = Double.parseDouble(poleSkladow ej1.getText());
    j = Double.parseDouble(poleSkladow ej2.getText());
    oblicz();
    poleWyniku.setText("" + wynik);
    }

    };

    public void oblicz()
    {
    if(label.getText()=="+")
    wynik=i+j;
    else if(label.getText()=="-")
    wynik=i-j;
    else if(label.getText()=="*")
    wynik=i*j;
    else if(label.getText()=="/")
    wynik=i/j;
    }
    public void wyzeruj()
    {
    poleWyniku.setText("");
    poleSkladowej1.setText("");
    poleSkladowej2.setText("");
    label.setText(" ");
    poleSkladowej=poleSkladowej1;
    }

    private final int SZEROKOSC = 250;
    private final int WYSOKOSC = 200;
    private JTextField poleSkladowej, poleSkladowej1, poleSkladowej2, poleWyniku;
    private JPanel panelNumeryczny, panelWyniku, panelPolecen;
    private RoundButton guzik, g1, g2, g3, p1, p2, p3, p4, p5;
    private JLabel label,label1;
    private double i,j, wynik;
    }
  • Anonim

    Z takiego kodu to nic nie widać.
    http://rafb.net/paste/

    Pozdro
  • Ja nie istnieje (FURBY)

    http://rafb.net/p/w3ItO521.html

    :D Fajne to pase :P