import java.awt.*; import java.awt.event.*; import javax.swing.*; class TestGraphic{ public static void main(String[] args) { class Knapp extends JButton{ private String opprinneligTekst; private String nyTekst; public Knapp(String opprinneligTekst, String nyTekst){ super(opprinneligTekst); this.opprinneligTekst = opprinneligTekst; this.nyTekst = nyTekst; } class KnappAction implements ActionListener{ @Override public void actionPerformed(ActionEvent e){ if(getText().equals(opprinneligTekst)){ setText(nyTekst); }else { setText(opprinneligTekst); } } } public void initGui(){ addActionListener(new KnappAction()); } } JFrame vindu = new JFrame("Navn på vindu"); vindu.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panel = new JPanel(); panel.setLayout(new GridLayout(2,1)); vindu.add(panel); JPanel flyt = new JPanel(); JPanel ruter = new JPanel(); ruter.setLayout(new GridLayout(2,2)); Knapp knapp5 = new Knapp("Hello", "Hade :)"); knapp5.initGui(); flyt.add(knapp5); Knapp knapp = new Knapp("Hello", "Hade :)"); Knapp knapp2 = new Knapp("Hello", "Hade :)"); Knapp knapp3 = new Knapp("Hello", "Hade :)"); Knapp knapp4 = new Knapp("Hello", "Hade :)"); knapp.initGui(); knapp2.initGui(); knapp3.initGui(); knapp4.initGui(); ruter.add(knapp); ruter.add(knapp2); ruter.add(knapp3); ruter.add(knapp4); panel.add(ruter); panel.add(flyt); vindu.pack(); vindu.setVisible(true); } }