{"id":2753,"date":"2017-12-03T07:19:30","date_gmt":"2017-12-03T07:19:30","guid":{"rendered":"http:\/\/webartdevelopers.com\/?p=2753"},"modified":"2018-06-27T15:11:42","modified_gmt":"2018-06-27T15:11:42","slug":"how-to-create-a-frame-with-jpanel-class-and-handle-an-event-using-actionlistener-interface-in-core-java","status":"publish","type":"post","link":"https:\/\/webartdevelopers.com\/blog\/how-to-create-a-frame-with-jpanel-class-and-handle-an-event-using-actionlistener-interface-in-core-java\/","title":{"rendered":"How to create a Frame with JPanel Class and Handle an Event using ActionListener Interface in Core Java"},"content":{"rendered":"<p>In this tutorial how to create a Frame with JPanel Class and Handle an Event using ActionListener Interface in Core Java is shown.<\/p>\n[themify_quote]\n<p>Code:<\/p>\n<p>ButtonSettingBackground.java<\/p>\n<p>import java.awt.Color;<br \/>\nimport java.awt.Container;<br \/>\nimport java.awt.event.ActionEvent;<br \/>\nimport java.awt.event.ActionListener;<br \/>\nimport java.awt.event.WindowAdapter;<br \/>\nimport java.awt.event.WindowEvent;<\/p>\n<p>import javax.swing.JButton;<br \/>\nimport javax.swing.JFrame;<br \/>\nimport javax.swing.JPanel;<\/p>\n<p>public class ButtonSettingBackground extends JPanel implements ActionListener<br \/>\n{<br \/>\nprivate JButton greenButton = new JButton(&#8220;Green&#8221;);<br \/>\nprivate JButton blueButton = new JButton(&#8220;Blue&#8221;);<br \/>\nprivate JButton redButton = new JButton(&#8220;Red&#8221;);<\/p>\n<p>public ButtonSettingBackground()<br \/>\n{<br \/>\nadd(greenButton);<br \/>\nadd(blueButton);<br \/>\nadd(redButton);<\/p>\n<p>greenButton.addActionListener(this);<br \/>\nblueButton.addActionListener(this);<br \/>\nredButton.addActionListener(this);<br \/>\n}<\/p>\n<p>public void actionPerformed(ActionEvent e)<br \/>\n{<br \/>\nObject source = e.getSource();<br \/>\nColor color = getBackground();<\/p>\n<p>if(source == greenButton)<br \/>\ncolor = Color.green;<br \/>\nelse if(source == blueButton)<br \/>\ncolor = Color.blue;<br \/>\nelse if(source == redButton)<br \/>\ncolor = Color.red;<\/p>\n<p>setBackground(color);<br \/>\nrepaint();<br \/>\n}<\/p>\n<p>public static void main(String args[])<br \/>\n{<br \/>\nJFrame frame = new JFrame(&#8220;ButtonTest&#8221;);<br \/>\nframe.setSize(300,200);<\/p>\n<p>frame.addWindowListener(new WindowAdapter()<br \/>\n{<br \/>\npublic void windowClosing(WindowEvent e)<br \/>\n{<br \/>\nSystem.exit(0);<br \/>\n}<br \/>\n});<\/p>\n<p>Container contentPane = frame.getContentPane();<br \/>\ncontentPane.add(new ButtonSettingBackground());<\/p>\n<p>frame.show();<br \/>\n}<br \/>\n}<\/p>\n[\/themify_quote]\n<p><a href=\"https:\/\/youtu.be\/ir0HUgUmvNY\">https:\/\/youtu.be\/ir0HUgUmvNY<\/a><\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"In this tutorial how to create a Frame with JPanel Class and Handle an Event using ActionListener Interface in Core Java is shown.  Code: ButtonSettingBackground.java import java.awt.Color; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class ButtonSettingBackground extends JPanel implements ActionListener { private JButton greenButton = new JButton(&#8220;Green&#8221;); private JButton blueButton = new JButton(&#8220;Blue&#8221;); private JButton redButton = new JButton(&#8220;Red&#8221;); public ButtonSettingBackground() { add(greenButton); add(blueButton); add(redButton); greenButton.addActionListener(this); blueButton.addActionListener(this); redButton.addActionListener(this); } public void actionPerformed(ActionEvent e) { Object source = e.getSource(); Color color = getBackground(); if(source == greenButton) color = Color.green; else if(source == blueButton) color = Color.blue; else if(source == redButton) color = Color.red; setBackground(color); repaint(); } public static void main(String <!-- AddThis Advanced Settings generic via filter on get_the_excerpt -->","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[156],"tags":[225,157,223,222,224],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/webartdevelopers.com\/blog\/wp-json\/wp\/v2\/posts\/2753"}],"collection":[{"href":"https:\/\/webartdevelopers.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webartdevelopers.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webartdevelopers.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webartdevelopers.com\/blog\/wp-json\/wp\/v2\/comments?post=2753"}],"version-history":[{"count":4,"href":"https:\/\/webartdevelopers.com\/blog\/wp-json\/wp\/v2\/posts\/2753\/revisions"}],"predecessor-version":[{"id":3174,"href":"https:\/\/webartdevelopers.com\/blog\/wp-json\/wp\/v2\/posts\/2753\/revisions\/3174"}],"wp:attachment":[{"href":"https:\/\/webartdevelopers.com\/blog\/wp-json\/wp\/v2\/media?parent=2753"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webartdevelopers.com\/blog\/wp-json\/wp\/v2\/categories?post=2753"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webartdevelopers.com\/blog\/wp-json\/wp\/v2\/tags?post=2753"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}