import java.awt.*; import java.awt.event.*; import javax.swing.*; public class View { private Controller controller; private JFrame vindu; private JPanel hovedpanel; private JPanel operasjonspanel; private JPanel numpad; private JTextField beregningsfelt; private JButton ferdigKnapp; private JButton sletteKnapp; private Font tekstfont; public View(Controller controller) { vindu = new JFrame("Kalkulator"); hovedpanel = new JPanel(new BorderLayout(10, 10)); operasjonspanel = new JPanel(); numpad = new JPanel(new GridLayout(4, 3, 5, 5)); beregningsfelt = new JTextField(); ferdigKnapp = new JButton("Done"); sletteKnapp = new JButton(" 0) { beregningsfelt.setText(uttrykk.substring(0, uttrykk.length() - 1)); } } }); operasjonspanel.add(ferdigKnapp); operasjonspanel.add(sletteKnapp); numpad.setPreferredSize(new Dimension(300, 400)); for (int i = 9; i >= 0; i--) { numpad.add(new NumButton(i + "")); } numpad.add(new NumButton(".")); vindu.add(operasjonspanel, BorderLayout.NORTH); vindu.add(numpad, BorderLayout.CENTER); vindu.pack(); vindu.setLocationRelativeTo(null); vindu.setVisible(true); } public JTextField hentBeregningsfelt() { return beregningsfelt; } private class NumButton extends JButton { public NumButton(String num) { super(num); setBackground(Color.WHITE); setPreferredSize(new Dimension(80, 80)); setFont(tekstfont); addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { beregningsfelt.setText(beregningsfelt.getText() + num); } }); } } }