0
public class sesUygulamasi implements ActionListener {
    JButton azalt = new JButton("-");
    JButton arttır = new JButton("+");
    int defa=5;
    boolean[] liste=new boolean[10];
    JPanel birinci = new JPanel();
    JPanel ikinci = new JPanel();
    JPanel ucuncu = new JPanel();
    JPanel dorduncu = new JPanel();
    JPanel besinci = new JPanel();
    JPanel altinci = new JPanel();
    JPanel yedinci = new JPanel();
    JPanel sekizinci = new JPanel();
    JPanel dokuzuncu = new JPanel();
    JPanel onuncu = new JPanel();

    public JPanel createContentPane() {
        JPanel GUI = new JPanel();
        GUI.setLayout(null);
        JPanel yazilar = new JPanel();
        yazilar.setLayout(null);
        yazilar.setLocation(10, 0);
        yazilar.setSize(250, 30);
        GUI.add(yazilar);

        JLabel down = new JLabel("Volume-Down");
        down.setForeground(Color.black);
        down.setLocation(0, 0);
        down.setSize(100, 30);
        down.setHorizontalAlignment(0);
        yazilar.add(down);

        JLabel up = new JLabel("Volume-Up");
        up.setForeground(Color.black);
        up.setLocation(90, 0);
        up.setSize(100, 30);
        up.setHorizontalAlignment(0);
        yazilar.add(up);

        JPanel cubuklar = new JPanel();
        cubuklar.setLayout(null);
        cubuklar.setLocation(10, 20);
        cubuklar.setSize(225, 150);
        GUI.add(cubuklar);


        birinci.setBackground(Color.BLACK);
        birinci.setLocation(10, 140);
        birinci.setSize(10, 10);
        cubuklar.add(birinci);


        ikinci.setBackground(Color.BLACK);
        ikinci.setLocation(25, 130);
        ikinci.setSize(10, 20);
        cubuklar.add(ikinci);


        ucuncu.setBackground(Color.BLACK);
        ucuncu.setLocation(40, 120);
        ucuncu.setSize(10, 30);
        cubuklar.add(ucuncu);


        dorduncu.setBackground(Color.BLACK);
        dorduncu.setLocation(55, 110);
        dorduncu.setSize(10, 40);
        cubuklar.add(dorduncu);


        besinci.setBackground(Color.BLACK);
        besinci.setLocation(70, 100);
        besinci.setSize(10, 50);
        cubuklar.add(besinci);


        altinci.setBackground(Color.BLACK);
        altinci.setLocation(85, 90);
        altinci.setSize(10, 60);
        altinci.setVisible(false);
        cubuklar.add(altinci);


        yedinci.setBackground(Color.BLACK);
        yedinci.setLocation(100, 80);
        yedinci.setSize(10, 70);
        yedinci.setVisible(false);
        cubuklar.add(yedinci);


        sekizinci.setBackground(Color.BLACK);
        sekizinci.setLocation(115, 70);
        sekizinci.setSize(10, 80);
        sekizinci.setVisible(false);
        cubuklar.add(sekizinci);


        dokuzuncu.setBackground(Color.BLACK);
        dokuzuncu.setLocation(130, 60);
        dokuzuncu.setSize(10, 90);
        dokuzuncu.setVisible(false);
        cubuklar.add(dokuzuncu);


        onuncu.setBackground(Color.BLACK);
        onuncu.setLocation(145, 50);
        onuncu.setSize(10, 100);
        onuncu.setVisible(false);
        cubuklar.add(onuncu);

        JPanel butonlar = new JPanel();
        butonlar.setLayout(null);
        butonlar.setLocation(10, 200);
        butonlar.setSize(225, 50);
        GUI.add(butonlar);


        azalt.setLocation(25, 0);
        azalt.setSize(50, 30);
        azalt.addActionListener(this);
        butonlar.add(azalt);


        arttır.setLocation(100, 0);
        arttır.setSize(50, 30);
        arttır.addActionListener(this);
        butonlar.add(arttır);

        return GUI;
    }

    public static void main(String[] args) {
        JFrame frame = new JFrame("Ses Sistemi");
        JFrame.setDefaultLookAndFeelDecorated(true);
        sesUygulamasi demo = new sesUygulamasi();
        frame.setContentPane(demo.createContentPane());
        frame.setSize(225, 300);
        frame.setVisible(true);

    }

    @Override
    public void actionPerformed(ActionEvent arg0) {
        if(arg0.getSource()==azalt){
            defa--;
            liste=sayac(defa);
            birinci.setVisible(liste [0]);
            ikinci.setVisible(liste [1]);
            ucuncu.setVisible(liste [2]);
            dorduncu.setVisible(liste [3]);
            besinci.setVisible(liste [4]);
            altinci.setVisible(liste [5]);
            yedinci.setVisible(liste [6]);
            sekizinci.setVisible(liste [7]);
            dokuzuncu.setVisible(liste [8]);
            onuncu.setVisible(liste [9]);

        }
        if(arg0.getSource()==arttır){
            defa++;
            liste=sayac(defa);
            birinci.setVisible(liste [0]);
            ikinci.setVisible(liste [1]);
            ucuncu.setVisible(liste [2]);
            dorduncu.setVisible(liste [3]);
            besinci.setVisible(liste [4]);
            altinci.setVisible(liste [5]);
            yedinci.setVisible(liste [6]);
            sekizinci.setVisible(liste [7]);
            dokuzuncu.setVisible(liste [8]);
            onuncu.setVisible(liste [9]);
        }
    }

    private boolean[] sayac(int i) {
        for (int x=0;x<liste.length;x++){
            if(i-1>=x){
                liste[x]=true;
            }
            else{
                liste[x]=false;
            }
        }
        return null;
    }
}

This is the stack trace I get:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at sesUygulamasi.actionPerformed(sesUygulamasi.java:170)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$200(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

How can I solve this problem? The program is like a sound mixer. If you click on the "-" button , the sound lowers and if you click on the "+" button, the sounds higher.

ccjmne
  • 9,333
  • 3
  • 47
  • 62
Extraloob
  • 35
  • 8

1 Answers1

2

You're returning null from your sayac method

private boolean[] sayac(int i) {
    for (int x = 0; x < liste.length; x++) {
        if (i - 1 >= x) {
            liste[x] = true;
        } else {
            liste[x] = false;
        }
    }
    return null;
}

This means when you try and access it within your actionPerformed method, it triggers a NullPointerException...

if (arg0.getSource() == azalt) {
    defa--;
    liste = sayac(defa); // I'm null
    birinci.setVisible(liste[0]);
    //...
}
if (arg0.getSource() == arttir) {
    defa++;
    liste = sayac(defa); // I'm null
    birinci.setVisible(liste[0]);
    //..

Consider this a great oppurtunity to try out the debugger functionality of your IDE and Java. Add a break point just before the indiciated line, run the program in debug mode and inspect the variables and walk back up the stack trace to see where it's comining from...

MadProgrammer
  • 343,457
  • 22
  • 230
  • 366