Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7633901
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 31, 20262026-05-31T07:01:05+00:00 2026-05-31T07:01:05+00:00

I got stock with my codelines when i did try to create a JPopupMenu

  • 0

I got stock with my codelines when i did try to create a JPopupMenu or actually when trying to get ridt of the JPopupMenu. I’ve been searching around for an solution and all of them are using Component.setVisible(false) or .setVisible(true);

But in my case i just won’t work no mather what i’ve tried.
All in All, my App. is working and i’ll use System.out.println(“works fine or something!”); so i know statements have change, loops has been performed and ActionListener/Itemlistener and so are working.
Basickly I’ve create an Main Window using “CreateGUI”, call by main([String[] args), have a class Frame, and then put in a Panel & Panes to control Layout.
I my Frame amongst other things, there’s a JButton “vHent” and it’s calling PopKalender() and then my JPopupMenu are showing on screen.
In the JPopupMenu “popUpKalenderWindow” i have a JButton “kill”, “OK”(Not in Use) and a MenuItem(“vMenu Tryk Her”).

My idea was i.e get some state read out from MenuItems and at this point JButton “kill” was ment to shut down the JPopupMenu.
But as sayd, nothing seems to shut down the PopUpMenu! But everything else working as it ment to be and when checking it with System.out.println(), i’ll get read out that shows that Loops, Construktor calls, Button/MenuItems and so on, are working as they was ment to.
I’ve tryed to put in: popUpKalenderWindow.setVisible(false) directly under my ActionPerformedListener and also just PopKalender(), tried cast argument true / false in popKalender(true/false) and then createt a if-statement (as you can see now) and it just won’t work no mather what.

(Using Eclipse, so codelines been copied directly over. Some Comments are in Danish(I’m Very sorry), but line where need is wanted are with english. Also some comment is ment to learn me what and why the line is written! Yes, CheckBox should been in an ArrayList and done with for(){}, so this is the Newbie solution!
).

So can anyone help me here and tell me why PopKalender() won’t disappear when Button “kill” is pushed??

//package components;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.ComponentOrientation;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

import javax.swing.AbstractButton;
import javax.swing.BorderFactory;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JTextField;

public class Frame extends JPanel implements ItemListener, ActionListener {
private static final long _1L = 1L;
/**
 * 
 */

        // Klargør CheckBoxes
        JCheckBox tal1;
        JCheckBox tal2;
        JCheckBox tal3;
        JCheckBox tal4;
        JCheckBox tal5;
        JCheckBox tal6;
        JCheckBox tal7;
        JCheckBox tal8;
        JCheckBox tal9;
        JCheckBox tal10;
        JCheckBox tal11;
        JCheckBox tal12;
        JCheckBox tal13;
        JCheckBox tal14;
        JCheckBox tal15;
        JCheckBox tal16;
        JCheckBox tal17;
        JCheckBox tal18;
        JCheckBox tal19;
        JCheckBox tal20;
        JCheckBox tal21;
        JCheckBox tal22;
        JCheckBox tal23;
        JCheckBox tal24;
        JCheckBox tal25;
        JCheckBox tal26;
        JCheckBox tal27;
        JCheckBox tal28;
        JCheckBox tal29;
        JCheckBox tal30;
        JCheckBox tal31;
        JCheckBox tal32;
        JCheckBox tal33;
        JCheckBox tal34;
        JCheckBox tal35;
        JCheckBox tal36;

        //Klargør ArrayList til valgte tal
        ArrayList<Integer> valg = new ArrayList<Integer>();

        //Klargør knapper 
        JButton vOk;    //til valgte tal Tekst: Tilføj

        JButton vHent;  //til at hente uge / kalender for valg af uge
        JButton bRegn;  //til at beregne ugen tal

        //Klargør Tekster 
        JLabel labelValg = new JLabel("Du har valgt: ");    //til valgte tal
        JLabel labelTidNu = new JLabel("år-uge-dag-kl");        //til nuværende tid
        JLabel labelValgTid = new JLabel("år-uge der skal skrives til");    //til valgte uge/år, der skal tilføjes Talvalg
        JLabel labelUd_1 = new JLabel("  1: ");     //til udlæsning af Talforslag LabelUd_1 - LabelUd_10
        JLabel labelUd_2 = new JLabel("  2: ");
        JLabel labelUd_3 = new JLabel("  3: ");
        JLabel labelUd_4 = new JLabel("  4: ");
        JLabel labelUd_5 = new JLabel("  5: ");
        JLabel labelUd_6 = new JLabel("  6: ");
        JLabel labelUd_7 = new JLabel("  7: ");
        JLabel labelUd_8 = new JLabel("  8: ");
        JLabel labelUd_9 = new JLabel("  9: ");
        JLabel labelUd_10 = new JLabel("10: ");



public Frame(){
    super(new BorderLayout());

    //Opret Paneler til under paneler
    //Opret Top, left, center, right, buttom Panel
    JPanel topPanel = new JPanel(); //Indsæt BorderLayout efter opstilling !
    JPanel leftPanel = new JPanel();
    JPanel centerPanel = new JPanel();
    JPanel rightPanel = new JPanel();
    JPanel bottomPanel = new JPanel();

    //Set internt Layout for top, left, right panel
    topPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
    leftPanel.setLayout(new GridLayout(4, 0));
    rightPanel.setLayout(new GridLayout(2, 0));

    //Set størrelse på paneler
    topPanel.setPreferredSize(new Dimension(900, 50));
    leftPanel.setPreferredSize(new Dimension(300, 500));
    centerPanel.setPreferredSize(new Dimension(300, 500));
    rightPanel.setPreferredSize(new Dimension(300, 500));
    bottomPanel.setPreferredSize(new Dimension(900, 50));

    //tilføj paneler til frame'en og placer dem i layout'et
    add(topPanel, BorderLayout.PAGE_START);
    add(leftPanel, BorderLayout.LINE_START);
    add(centerPanel, BorderLayout.CENTER);
    add(rightPanel, BorderLayout.LINE_END);
    add(bottomPanel, BorderLayout.PAGE_END);


    //Opret Checkboxes
    tal1 = new JCheckBox("1");
    tal2 = new JCheckBox("2");
    tal3 = new JCheckBox("3");
    tal4 = new JCheckBox("4");
    tal5 = new JCheckBox("5");
    tal6 = new JCheckBox("6");
    tal7 = new JCheckBox("7");
    tal8 = new JCheckBox("8");
    tal9 = new JCheckBox("9");
    tal10 = new JCheckBox("10");
    tal11 = new JCheckBox("11");
    tal12 = new JCheckBox("12");
    tal13 = new JCheckBox("13");
    tal14 = new JCheckBox("14");
    tal15 = new JCheckBox("15");
    tal16 = new JCheckBox("16");
    tal17 = new JCheckBox("17");
    tal18 = new JCheckBox("18");
    tal19 = new JCheckBox("19");
    tal20 = new JCheckBox("20");
    tal21 = new JCheckBox("21");
    tal22 = new JCheckBox("22");
    tal23 = new JCheckBox("23");
    tal24 = new JCheckBox("24");
    tal25 = new JCheckBox("25");
    tal26 = new JCheckBox("26");
    tal27 = new JCheckBox("27");
    tal28 = new JCheckBox("28");
    tal29 = new JCheckBox("29");
    tal30 = new JCheckBox("30");
    tal31 = new JCheckBox("31");
    tal32 = new JCheckBox("32");
    tal33 = new JCheckBox("33");
    tal34 = new JCheckBox("34");
    tal35 = new JCheckBox("35");
    tal36 = new JCheckBox("36");

    //Set default
    tal1.setSelected(false);
    tal2.setSelected(false);
    tal3.setSelected(false);
    tal4.setSelected(false);
    tal5.setSelected(false);
    tal6.setSelected(false);
    tal7.setSelected(false);
    tal8.setSelected(false);
    tal9.setSelected(false);
    tal10.setSelected(false);
    tal11.setSelected(false);
    tal12.setSelected(false);
    tal13.setSelected(false);
    tal14.setSelected(false);
    tal15.setSelected(false);
    tal16.setSelected(false);
    tal17.setSelected(false);
    tal18.setSelected(false);
    tal19.setSelected(false);
    tal20.setSelected(false);
    tal21.setSelected(false);
    tal22.setSelected(false);
    tal23.setSelected(false);
    tal24.setSelected(false);
    tal25.setSelected(false);
    tal26.setSelected(false);
    tal27.setSelected(false);
    tal28.setSelected(false);
    tal29.setSelected(false);
    tal30.setSelected(false);
    tal31.setSelected(false);
    tal32.setSelected(false);
    tal33.setSelected(false);
    tal34.setSelected(false);
    tal35.setSelected(false);
    tal36.setSelected(false);

    //opret en ItemListener for Checkboxes
    tal1.addItemListener(this);
    tal2.addItemListener(this);
    tal3.addItemListener(this);
    tal4.addItemListener(this);
    tal5.addItemListener(this);
    tal6.addItemListener(this);
    tal7.addItemListener(this);
    tal8.addItemListener(this);
    tal9.addItemListener(this);
    tal10.addItemListener(this);
    tal11.addItemListener(this);
    tal12.addItemListener(this);
    tal13.addItemListener(this);
    tal14.addItemListener(this);
    tal15.addItemListener(this);
    tal16.addItemListener(this);
    tal17.addItemListener(this);
    tal18.addItemListener(this);
    tal19.addItemListener(this);
    tal20.addItemListener(this);
    tal21.addItemListener(this);
    tal22.addItemListener(this);
    tal23.addItemListener(this);
    tal24.addItemListener(this);
    tal25.addItemListener(this);
    tal26.addItemListener(this);
    tal27.addItemListener(this);
    tal28.addItemListener(this);
    tal29.addItemListener(this);
    tal30.addItemListener(this);
    tal31.addItemListener(this);
    tal32.addItemListener(this);
    tal33.addItemListener(this);
    tal34.addItemListener(this);
    tal35.addItemListener(this);
    tal36.addItemListener(this);

    //Sæt CheckBoxes i 6 kolonner i et Panel
    JPanel checkPanel = new JPanel(new GridLayout(0, 6));
    checkPanel.add(tal1);
    checkPanel.add(tal2);
    checkPanel.add(tal3);
    checkPanel.add(tal4);
    checkPanel.add(tal5);
    checkPanel.add(tal5);
    checkPanel.add(tal6);
    checkPanel.add(tal7);
    checkPanel.add(tal8);
    checkPanel.add(tal9);
    checkPanel.add(tal10);
    checkPanel.add(tal11);
    checkPanel.add(tal12);
    checkPanel.add(tal13);
    checkPanel.add(tal14);
    checkPanel.add(tal15);
    checkPanel.add(tal16);
    checkPanel.add(tal17);
    checkPanel.add(tal18);
    checkPanel.add(tal19);
    checkPanel.add(tal20);
    checkPanel.add(tal21);
    checkPanel.add(tal22);
    checkPanel.add(tal23);
    checkPanel.add(tal24);
    checkPanel.add(tal25);
    checkPanel.add(tal26);
    checkPanel.add(tal27);
    checkPanel.add(tal28);
    checkPanel.add(tal29);
    checkPanel.add(tal30);
    checkPanel.add(tal31);
    checkPanel.add(tal32);
    checkPanel.add(tal33);
    checkPanel.add(tal34);
    checkPanel.add(tal35);
    checkPanel.add(tal36);

    //Set checkpanel størrelse og tilføj det til leftPanel med en ramme
    checkPanel.setPreferredSize(new Dimension(290, 290));   
    leftPanel.add(checkPanel);
    setBorder(BorderFactory.createEmptyBorder(20,20,20,20));

    //leftPanel med valgte tal
    leftPanel.add(labelValg);
    labelValg.setPreferredSize(new Dimension(290, 25));

    //Tilføj tekster 
    //topPanel m. nuværende tid     
    topPanel.add(labelTidNu);
    labelTidNu.setPreferredSize(new Dimension(210, 25));
    //Hjælpe funktioner til ur
    Thread t = new Kalender(labelTidNu);    //Bruges til at lave en tråd Thread for Kalender
    t.start();                      //Tråden t startes og kan kontrolleres med Thread.sleep(1000) = pause

    //klargør Knapper til: valgte tal
     vOk = new JButton("Tilføj Tal");
     vOk.setPreferredSize(new Dimension(100, 50));
     vOk.setActionCommand("vOk");   //Set ActionCommand til genkendelse
     vOk.addActionListener(this);   //Tilføj en Action Listener
     //hent uge / kalender
     vHent = new JButton("Hent Uge");
     vHent.setActionCommand("vHent");
     vHent.addActionListener(this);
     vHent.setPreferredSize(new Dimension(100, 50));
     //Beregn ugens tal
     bRegn = new JButton("Beregn");
     bRegn.setActionCommand("bRegn");
     bRegn.addActionListener(this);
     bRegn.setPreferredSize(new Dimension(100, 50));


     //Opret et knap Panel
            JPanel knapPanel = new JPanel();
            knapPanel.setLayout(new BoxLayout(knapPanel, BoxLayout.Y_AXIS));
        //  knapPanel.setPreferredSize(new Dimension(290, 300));

        //opret  layoutpaneler med flowlayoutX til knapper og tekst
            //layoutPanel1
            JPanel layoutPanel1 = new JPanel();
            layoutPanel1.setLayout(new FlowLayout(FlowLayout.LEFT));
            layoutPanel1.setPreferredSize(new Dimension(290, 150));

            //layoutPanel2
            JPanel layoutPanel2 = new JPanel();
            layoutPanel2.setLayout(new FlowLayout(FlowLayout.RIGHT));
            layoutPanel2.setPreferredSize(new Dimension(290, 150));

            //Tilføj knapper / tekster
            layoutPanel1.add(vHent);
            layoutPanel1.add(labelValgTid);
            layoutPanel2.add(vOk);
            knapPanel.add(layoutPanel1);
        //  knapPanel.add(fillPanel1);
            knapPanel.add(layoutPanel2);
            leftPanel.add(knapPanel);
            setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));

            //Opret panel til udlæsning
            JPanel listePanel = new JPanel();
            listePanel.setLayout(new BoxLayout(listePanel, BoxLayout.Y_AXIS));
            listePanel.setPreferredSize(new Dimension(280, 300));

            //Opret Panel til Knap
            JPanel knapPanel2 = new JPanel();
            knapPanel2.setPreferredSize(new Dimension(280, 150));
            knapPanel2.setLayout(new FlowLayout(FlowLayout.RIGHT));

            //Tilføj lister / knap
            listePanel.add(labelUd_1);
            listePanel.add(labelUd_2);
            listePanel.add(labelUd_3);
            listePanel.add(labelUd_4);
            listePanel.add(labelUd_5);
            listePanel.add(labelUd_6);
            listePanel.add(labelUd_7);
            listePanel.add(labelUd_8);
            listePanel.add(labelUd_9);
            listePanel.add(labelUd_10);
            rightPanel.add(listePanel);
            knapPanel2.add(bRegn);
            rightPanel.add(knapPanel2);


} //Frame end

//Lyt til Checkboxes,  send resultatet til Valgtjek og opdater display / LabelValg  
public void itemStateChanged(ItemEvent e){
    //      int index = 0;
    Object kilde = e.getItemSelectable();
    if(kilde == tal1){
        Valgtjek(1);
    }else if(kilde == tal2){
        Valgtjek(2);    
    }else if(kilde == tal3){
        Valgtjek(3);
    }else if(kilde == tal4){
        Valgtjek(4);    
    }else if(kilde == tal5){
        Valgtjek(5);    
    }else if(kilde == tal6){
        Valgtjek(6);    
    }else if(kilde == tal7){
        Valgtjek(7);    
    }else if(kilde == tal8){
        Valgtjek(8);    
    }else if(kilde == tal9){
        Valgtjek(9);    
    }else if(kilde == tal10){
        Valgtjek(10);   
    }else if(kilde == tal11){
        Valgtjek(11);   
    }else if(kilde == tal12){
        Valgtjek(12);   
    }else if(kilde == tal13){
        Valgtjek(13);   
    }else if(kilde == tal14){
        Valgtjek(14);   
    }else if(kilde == tal15){
        Valgtjek(15);   
    }else if(kilde == tal16){
        Valgtjek(16);   
    }else if(kilde == tal17){
        Valgtjek(17);   
    }else if(kilde == tal18){
        Valgtjek(18);   
    }else if(kilde == tal19){
        Valgtjek(19);   
    }else if(kilde == tal20){
        Valgtjek(20);   
    }else if(kilde == tal21){
        Valgtjek(21);   
    }else if(kilde == tal22){
        Valgtjek(22);   
    }else if(kilde == tal23){
        Valgtjek(23);   
    }else if(kilde == tal24){
        Valgtjek(24);   
    }else if(kilde == tal25){
        Valgtjek(25);   
    }else if(kilde == tal26){
        Valgtjek(26);   
    }else if(kilde == tal27){
        Valgtjek(27);   
    }else if(kilde == tal28){
        Valgtjek(28);   
    }else if(kilde == tal29){
        Valgtjek(29);   
    }else if(kilde == tal30){
        Valgtjek(30);   
    }else if(kilde == tal31){
        Valgtjek(31);   
    }else if(kilde == tal32){
        Valgtjek(32);   
    }else if(kilde == tal33){
        Valgtjek(33);   
    }else if(kilde == tal34){
        Valgtjek(34);   
    }else if(kilde == tal35){
        Valgtjek(35);   
    }else if(kilde == tal36){
        Valgtjek(36);   
    }

    //Opdater og udlæs valgte
    String s = valg.toString();
    labelValg.setText("Du har valgt: " +s);   
    }

//Lyt til Knapper   //Button Listener
public void actionPerformed(ActionEvent e){
    Object kilde = e.getActionCommand();
    if(kilde == "vOk"){

        System.out.println("Tillykke vOk er Ramt");
    }else{
        if(kilde == "vHent"){
            PopKalender(true);      //Call PopUpWindow
            System.out.println("Tillykke vHent er ramt");   //This works and "PopKalender" shows on screen
        }else {
            if(kilde == "bRegn"){
                System.out.println("Tillykke der beregnes");
            }
        else{
            if(kilde == "Kill"){
         PopKalender(false);                

                System.out.println("KILL WINDOW");  //This read out works fine, but "PopKalender" dosen't disappear
            //  System.exit( 0 );   //Also work but NOT as intended !!!  :D

            }
        }
    }
} }

//Ur til topPanel
//Der oprettes en klasse
class Kalender extends Thread {
    JLabel labelUrOpdater;
     Kalender(JLabel labelTidNu){
        labelUrOpdater = labelTidNu;    
    }   

    //Opret variabler til nutid år, måned, dag i måned, uge, dag, timer, minutter, sek
    int year;
    int month;
    String monthName;
    int date;
    int dayOfMonth;
    int weekOfYear;
    int dayOfWeek;
    int hour;
    int minute;
    int second;
    String[] måneder = {"Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December" };

public void run() {
Calendar ur = new GregorianCalendar();
for(;;){
    Date trialTime = new Date();
    ur.setTime(trialTime);
        year = ur.get(Calendar.YEAR);
        month = ur.get(Calendar.MONTH);
        date = ur.get(Calendar.DATE);
        dayOfMonth = ur.get(Calendar.DAY_OF_MONTH);
        weekOfYear = ur.get(Calendar.WEEK_OF_YEAR);
        dayOfWeek = ur.get(Calendar.DAY_OF_WEEK);
        hour = ur.get(Calendar.HOUR_OF_DAY);
        minute = ur.get(Calendar.MINUTE);
        second = ur.get(Calendar.SECOND);   
        monthName = måneder[month];
        //Sæt 0 foran 0-9 i sekunder / minutter
        if((minute <= 9) || (second <= 9)){
            if(minute <= 9){
                labelTidNu.setText( year + ". " + dayOfMonth + " " + monthName + " " + "Uge: " + weekOfYear + "   " + "Kl: "  + hour + ":" + "0" + minute + ":" + second);

        }else{
            if(second <= 9){
            labelTidNu.setText( year + ". " + dayOfMonth + " " + monthName + " " + "Uge: " + weekOfYear + "   " + "Kl: "  + hour + ":" + minute + ":" + "0" + second);
                }

        }
        }
        else{           
            labelTidNu.setText( year + ". " + dayOfMonth + " " + monthName + " " + "Uge: " + weekOfYear + "   " + "Kl: "  + hour + ":" + minute + ":" + second);
        //  labelTidNu.repaint();
            }
    try { Thread.sleep(1000);
    } catch(InterruptedException e){
        System.out.println("Thread Error");
            }
        }
    }   

}

    //Tal Checker: Se om de valgte tal er på listen, fjern eller tilføj. Call fra ItemStateChange
public void Valgtjek(int tjek) {
    boolean v = valg.contains(tjek);
        if(v){
        int i = valg.indexOf(tjek);
        valg.remove(i);
        System.out.println("Fjernede");
    }
    else{
        valg.add(tjek);
        System.out.println("valgte :" + tjek);
        }
}

//ActionListener for PopUpKalender "PopKalender" / ActionListener f. JPopupMenu
class PopKalValg implements ActionListener{
    public void actionPerformed(ActionEvent actionEvent){
        System.out.println("Valgt" + actionEvent.getActionCommand());

    }
}   


//Pop-up til kalender valg (Popup Menu for my Pick Calender
public void PopKalender(boolean pState){
    boolean pTest = false;

    JPopupMenu popUpKalenderWindow = new JPopupMenu();
//  popUpKalenderWindow.setDefaultCloseOperation();
    popUpKalenderWindow.setPreferredSize(new Dimension(400, 400));
    popUpKalenderWindow.setLocation(700, 300);

    ActionListener kalActionValg = new PopKalValg();    //ActionListener to objects inside the JPopupMenu

    JPanel popPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));  //Panel to hold objects and control layout
    JButton dOk = new JButton("OK");    //Not in use, just show

    JMenuItem vMenu = new JMenuItem("vMenu Tryk Her");  //test Item to learn JMenuItem
    vMenu.addActionListener( kalActionValg);
    popPanel.add(vMenu);

    JButton kill = new JButton("kill");     //In Use, supposed to shut down JPopupMenu
    kill.setActionCommand("Kill");
    kill.addActionListener(this);
    popPanel.add(dOk);
    popPanel.add(kill);
    popUpKalenderWindow.add(popPanel);
    if(pTest !=  pState){   
    popUpKalenderWindow.setVisible(true);   //works fine
    pTest = true;
    System.out.println(pTest);  // works fine, state has changed
    }else{
        //      getRootPane().setVisible(false);    //Dosen't work

    //      popPanel.setVisible(false); Dosen't Work
        popUpKalenderWindow.setVisible(false);      // Dosen't work
            System.out.println("Pop set visible false");    //Do work, so loop statement has been reached !!!


    }




}


private static void createAndShowGUI(){
    //Create and set up window
    JFrame frame = new JFrame("Mit Program");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Afslut Runtime ved vindue luk
    frame.setPreferredSize(new Dimension(900, 600));    //Set størrelse på vinduet

    /*      //Create background, put background in ContentPane place it Center
    JLabel bckGnd = new JLabel("");
    frame.getContentPane().add(bckGnd, BorderLayout.CENTER);
*/

    //Opret et Ground Panel til panels
    JComponent groundPanel = new Frame();
    groundPanel.setOpaque(true);            //content Panes skal være opaque
    frame.getContentPane().add(groundPanel);        //Tilføj GroundPanel til frame

    //Display Window
    frame.pack();
    frame.setVisible(true);
}


//SerialVersion ???
private static final long serialVersionUID = _1L;

public static void main(String[] args) {
    // Schedule a job for event-dispatching thread:
    //Creating and showing this Application's GUI.
    javax.swing.SwingUtilities.invokeLater(new Runnable(){      
        public void run(){
            createAndShowGUI();             
        }
    });

}

}
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-31T07:01:07+00:00Added an answer on May 31, 2026 at 7:01 am

    Let me be honest, your code is awful. Anyway, one of the shortest way to make your kill button work is adding an ActionListener to it and implementing what will happen when an action is performed on this button.

    Instead of this line kill.addActionListener(this); use this:

    kill.addActionListener(new ActionListener()
    {
        public void actionPerformed ( ActionEvent e )
        {
            popUpKalenderWindow.setVisible( false );
        }
    });
    

    And to make the above code work, mark your popUpKalenderWindow as final.

    final JPopupMenu popUpKalenderWindow = new JPopupMenu();
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I've got a stock standard visual studio 2008 solution with 3 class library projects.
I've got a stock Debian Etch system, using Exim4. The domains are mostly local
i've got a stock standard ASP.NET web site, deployed to our development machine (internal
I got stuck again between browsers compatability issues, what I was trying todo is
I've got stuck in a problem with gflags when trying to find some memory
Using openbravoPOS i got a mySQL database of all my producs tickets stock etc.
Got this question in an interview today, and its optimized solution stopped me cold
i'm looking at a stock/index: http://www.google.com/finance?q=google I've got firebug open, in firefox and when
I got the following issue while trying to insert multiple entries into a MySQL
I've got the following table: CREATE TABLE `products_quantity` ( `id` int(11) NOT NULL auto_increment,

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.