{"id":17136,"date":"2023-07-06T10:56:20","date_gmt":"2023-07-06T10:56:20","guid":{"rendered":"https:\/\/www.prepbytes.com\/blog\/?p=17136"},"modified":"2023-07-06T10:56:20","modified_gmt":"2023-07-06T10:56:20","slug":"difference-between-awt-and-swing-in-java","status":"publish","type":"post","link":"https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/","title":{"rendered":"Difference Between AWT and Swing In Java"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1688640582694-Difference%20between%20AWT%20and%20Swing%20in%20Java.jpg\" alt=\"\" \/><\/p>\n<p>Graphical User Interfaces (GUIs) play a crucial role in modern software development, allowing users to interact with applications effortlessly. In Java, developers have two main options for creating GUIs: AWT (Abstract Window Toolkit) and Swing. While both frameworks serve the purpose of building user interfaces, they differ significantly in terms of architecture, components, customization, performance, event handling, and more. In this article, we will explore the in-depth differences between AWT and Swing, enabling developers to make an informed decision when choosing the appropriate GUI framework for their Java applications.<\/p>\n<h2>What is the difference between AWT and Swing in Java?<\/h2>\n<p>Here is a brief overview of the differences between each of them in terms of what they offer.<\/p>\n<table>\n<thead>\n<tr>\n<th>Feature<\/th>\n<th>AWT<\/th>\n<th>Swing<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Architecture<\/td>\n<td>AWT is based on a peer-based model, relying on the native components of the underlying platform.<\/td>\n<td>Swing is a lightweight framework with its own components.<\/td>\n<\/tr>\n<tr>\n<td>Look and Feel<\/td>\n<td>AWT components have a platform-dependent appearance<\/td>\n<td>Swing components have a consistent look and feel across platforms.<\/td>\n<\/tr>\n<tr>\n<td>Components<\/td>\n<td>AWT provides a limited set of components<\/td>\n<td>Swing offers an extended set with additional features.<\/td>\n<\/tr>\n<tr>\n<td>Customizability<\/td>\n<td>AWT has limited customization.<\/td>\n<td>Swing allows for extensive customization of components in terms of appearance, behavior, and layout.<\/td>\n<\/tr>\n<tr>\n<td>Performance<\/td>\n<td>AWT components are less efficient in comparison.<\/td>\n<td>Swing components are generally more efficient due to being lightweight and optimized for rendering.<\/td>\n<\/tr>\n<tr>\n<td>Event Handling<\/td>\n<td>AWT has a simpler event handling model.<\/td>\n<td>Swing provides more advanced event handling mechanisms, such as event listeners and custom events<\/td>\n<\/tr>\n<tr>\n<td>Documentation<\/td>\n<td>Less documentation compared to Swing<\/td>\n<td>Swing has more extensive documentation compared to AWT, making it easier to find resources and learn about the framework<\/td>\n<\/tr>\n<tr>\n<td>Third-party Libraries<\/td>\n<td>AWT has fewer options in comparison<\/td>\n<td>Swing has a wider availability of third-party libraries and frameworks, providing more options for developers.<\/td>\n<\/tr>\n<tr>\n<td>Accessibility Support<\/td>\n<td>AWT has limited accessibility support.<\/td>\n<td>Swing offers improved accessibility support, including features like screen readers and assistive technologies.<\/td>\n<\/tr>\n<tr>\n<td>Internationalization<\/td>\n<td>AWT has limited internationalization capabilities.<\/td>\n<td>Swing provides better support for internationalization, including localization and text layout.<\/td>\n<\/tr>\n<tr>\n<td>Threading Model<\/td>\n<td>AWT follows a single-threaded model where GUI updates happen on the event dispatch thread.<\/td>\n<td>Swing supports a multi-threaded model for concurrent updates.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Java Swing Hierarchy<\/h2>\n<p>Java defines the class hierarchy for all the Swing Components, which is shown in the following image.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1688640781182-1-01%20%2854%29.png\" alt=\"\" \/><\/p>\n<h3>Code Implementation of Swing in Java<\/h3>\n\t\t\t\t\t\t\t<h3 style=\"margin-bottom:20px ;display:block;width:100%;margin-top:10px\">Code Implementation of Swing in Java <\/h3>\r\n\t\t\t\t\t\t\t\t<style>\r\n\t\t\t\t\r\n\t\t\t\t\t#tab_container_17078 {\r\n\toverflow:hidden;\r\n\tdisplay:block;\r\n\twidth:100%;\r\n\tborder:0px solid #ddd;\r\n\tmargin-bottom:30px;\r\n\t}\r\n\r\n#tab_container_17078 .tab-content{\r\n\tpadding:20px;\r\n\tborder: 1px solid #e6e6e6 !important;\r\n\tmargin-top: 0px;\r\n\tbackground-color:#ffffff !important;\r\n\tcolor: #000000 !important;\r\n\tfont-size:16px !important;\r\n\tfont-family: Open Sans !important;\r\n\t\r\n\t\tborder: 1px solid #e6e6e6 !important;\r\n\t}\r\n#tab_container_17078 .wpsm_nav-tabs {\r\n    border-bottom: 0px solid #ddd;\r\n}\r\n#tab_container_17078 .wpsm_nav-tabs > li.active > a, #tab_container_17078 .wpsm_nav-tabs > li.active > a:hover, #tab_container_17078 .wpsm_nav-tabs > li.active > a:focus {\r\n\tcolor: #000000 !important;\r\n\tcursor: default;\r\n\tbackground-color: #ffffff !important;\r\n\tborder: 1px solid #e6e6e6 !important;\r\n}\r\n\r\n#tab_container_17078 .wpsm_nav-tabs > li > a {\r\n    margin-right: 0px !important; \r\n    line-height: 1.42857143 !important;\r\n    border: 1px solid #d5d5d5 !important;\r\n    border-radius: 0px 0px 0 0 !important; \r\n\tbackground-color: #e8e8e8 !important;\r\n\tcolor: #000000 !important;\r\n\tpadding: 15px 18px 15px 18px !important;\r\n\ttext-decoration: none !important;\r\n\tfont-size: 14px !important;\r\n\ttext-align:center !important;\r\n\tfont-family: Open Sans !important;\r\n}\r\n#tab_container_17078 .wpsm_nav-tabs > li > a:focus {\r\noutline: 0px !important;\r\n}\r\n\r\n#tab_container_17078 .wpsm_nav-tabs > li > a:before {\r\n\tdisplay:none !important;\r\n}\r\n#tab_container_17078 .wpsm_nav-tabs > li > a:after {\r\n\tdisplay:none !important ;\r\n}\r\n#tab_container_17078 .wpsm_nav-tabs > li{\r\npadding:0px !important ;\r\nmargin:0px;\r\n}\r\n\r\n#tab_container_17078 .wpsm_nav-tabs > li > a:hover , #tab_container_17078 .wpsm_nav-tabs > li > a:focus {\r\n    color: #000000 !important;\r\n    background-color: #e8e8e8 !important;\r\n\tborder: 1px solid #d5d5d5 !important;\r\n\t\r\n}\r\n#tab_container_17078 .wpsm_nav-tabs > li > a .fa{\r\n\r\nmargin-right:5px !important;\r\n\r\nmargin-left:5px !important;\r\n\r\n\r\n}\r\n\r\n\t\t#tab_container_17078 .wpsm_nav-tabs a{\r\n\t\t\tbackground-image: none;\r\n\t\t\tbackground-position: 0 0;\r\n\t\t\tbackground-repeat: repeat-x;\r\n\t\t}\r\n\t\t\t\r\n\r\n\r\n#tab_container_17078 .wpsm_nav-tabs > li {\r\n    float: left;\r\n    margin-bottom: -1px !important;\r\n\tmargin-right:0px !important; \r\n}\r\n\r\n\r\n#tab_container_17078 .tab-content{\r\noverflow:hidden !important;\r\n}\r\n\r\n\r\n@media (min-width: 769px) {\r\n\r\n\t#tab_container_17078 .wpsm_nav-tabs > li{\r\n\t\tfloat:left !important ;\r\n\t\t\t\tmargin-right:-1px !important;\r\n\t\t\t\t\t}\r\n\t#tab_container_17078 .wpsm_nav-tabs{\r\n\t\tfloat:none !important;\r\n\t\tmargin:0px !important;\r\n\t}\r\n\r\n\t#tab_container_17078 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_17078 .wpsm_nav{\r\n\t\t\t}\r\n\r\n}\r\n\r\n\r\n\r\n@media (max-width: 768px) {\r\n\t#tab_container_17078 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_17078 .wpsm_nav{\r\n\t\t\t}\r\n}\r\n\r\n\r\n\t.wpsm_nav-tabs li:before{\r\n\t\tdisplay:none !important;\r\n\t}\r\n\r\n\t@media (max-width: 768px) {\r\n\t\t\t\t\r\n\t\t\t\t.wpsm_nav-tabs{\r\n\t\t\tmargin-left:0px !important;\r\n\t\t\tmargin-right:0px !important; \r\n\t\t\t\r\n\t\t}\r\n\t\t\t\t#tab_container_17078 .wpsm_nav-tabs > li{\r\n\t\t\tfloat:none !important;\r\n\t\t}\r\n\t\t\t\r\n\t}\t\t\t\t<\/style>\r\n\t\t\t\t<div id=\"tab_container_17078\" >\r\n\t \r\n\t\t\t\t\t<ul class=\"wpsm_nav wpsm_nav-tabs\" role=\"tablist\" id=\"myTab_17078\">\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  class=\"active\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_17078_1\" aria-controls=\"tabs_desc_17078_1\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>Java<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t <\/ul>\r\n\r\n\t\t\t\t\t  <!-- Tab panes -->\r\n\t\t\t\t\t  <div class=\"tab-content\" id=\"tab-content_17078\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane  in active \" id=\"tabs_desc_17078_1\">\r\n\t\t\t\t\t\t\t\t<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\">import java.awt.*;  \r\npublic class AwtApp extends Frame {  \r\nAwtApp(){  \r\nLabel firstName = new Label(\"First Name\");  \r\nfirstName.setBounds(20, 50, 80, 20);  \r\n  \r\nLabel lastName = new Label(\"Last Name\");  \r\nlastName.setBounds(20, 80, 80, 20);  \r\n  \r\nLabel dob = new Label(\"Date of Birth\");  \r\ndob.setBounds(20, 110, 80, 20);  \r\n  \r\nTextField firstNameTF = new TextField();  \r\nfirstNameTF.setBounds(120, 50, 100, 20);  \r\n  \r\nTextField lastNameTF = new TextField();  \r\nlastNameTF.setBounds(120, 80, 100, 20);  \r\n  \r\nTextField dobTF = new TextField();  \r\ndobTF.setBounds(120, 110, 100, 20);  \r\n  \r\nButton sbmt = new Button(\"Submit\");  \r\nsbmt.setBounds(20, 160, 100, 30);  \r\n  \r\nButton reset = new Button(\"Reset\");  \r\nreset.setBounds(120,160,100,30);  \r\n  \r\nadd(firstName);  \r\nadd(lastName);  \r\nadd(dob);  \r\nadd(firstNameTF);  \r\nadd(lastNameTF);  \r\nadd(dobTF);  \r\nadd(sbmt);  \r\nadd(reset);  \r\n  \r\nsetSize(300,300);  \r\nsetLayout(null);  \r\nsetVisible(true);  \r\n}  \r\npublic static void main(String[] args) {  \r\n\/\/ TODO Auto-generated method stub  \r\nAwtApp awt = new AwtApp();  \r\n  \r\n}<\/pre>\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t <\/div>\r\n\t\t\t\t\t \r\n\t\t\t\t <\/div>\r\n <script>\r\n\t\tjQuery(function () {\r\n\t\t\tjQuery('#myTab_17078 a:first').tab('show')\r\n\t\t});\r\n\t\t\r\n\t\t\t\tjQuery(function(){\r\n\t\t\tvar b=\"fadeIn\";\r\n\t\t\tvar c;\r\n\t\t\tvar a;\r\n\t\t\td(jQuery(\"#myTab_17078 a\"),jQuery(\"#tab-content_17078\"));function d(e,f,g){\r\n\t\t\t\te.click(function(i){\r\n\t\t\t\t\ti.preventDefault();\r\n\t\t\t\t\tjQuery(this).tab(\"show\");\r\n\t\t\t\t\tvar h=jQuery(this).data(\"easein\");\r\n\t\t\t\t\tif(c){c.removeClass(a);}\r\n\t\t\t\t\tif(h){f.find(\"div.active\").addClass(\"animated \"+h);a=h;}\r\n\t\t\t\t\telse{if(g){f.find(\"div.active\").addClass(\"animated \"+g);a=g;}else{f.find(\"div.active\").addClass(\"animated \"+b);a=b;}}c=f.find(\"div.active\");\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\r\n\t\tfunction do_resize(){\r\n\r\n\t\t\tvar width=jQuery( '.tab-content .tab-pane iframe' ).width();\r\n\t\t\tvar height=jQuery( '.tab-content .tab-pane iframe' ).height();\r\n\r\n\t\t\tvar toggleSize = true;\r\n\t\t\tjQuery('iframe').animate({\r\n\t\t\t    width: toggleSize ? width : 640,\r\n\t\t\t    height: toggleSize ? height : 360\r\n\t\t\t  }, 250);\r\n\r\n\t\t\t  toggleSize = !toggleSize;\r\n\t\t}\r\n\r\n\r\n\t<\/script>\r\n\t\t\t\t\r\n\t\t\t\n<p><strong>Output<\/strong><br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1688640874333-download%20%285%29.png\" alt=\"\" \/><\/p>\n<h3>Code Implementation of AWT in Java<\/h3>\n\t\t\t\t\t\t\t<h3 style=\"margin-bottom:20px ;display:block;width:100%;margin-top:10px\">Code Implementation of AWT in Java <\/h3>\r\n\t\t\t\t\t\t\t\t<style>\r\n\t\t\t\t\r\n\t\t\t\t\t#tab_container_17079 {\r\n\toverflow:hidden;\r\n\tdisplay:block;\r\n\twidth:100%;\r\n\tborder:0px solid #ddd;\r\n\tmargin-bottom:30px;\r\n\t}\r\n\r\n#tab_container_17079 .tab-content{\r\n\tpadding:20px;\r\n\tborder: 1px solid #e6e6e6 !important;\r\n\tmargin-top: 0px;\r\n\tbackground-color:#ffffff !important;\r\n\tcolor: #000000 !important;\r\n\tfont-size:16px !important;\r\n\tfont-family: Open Sans !important;\r\n\t\r\n\t\tborder: 1px solid #e6e6e6 !important;\r\n\t}\r\n#tab_container_17079 .wpsm_nav-tabs {\r\n    border-bottom: 0px solid #ddd;\r\n}\r\n#tab_container_17079 .wpsm_nav-tabs > li.active > a, #tab_container_17079 .wpsm_nav-tabs > li.active > a:hover, #tab_container_17079 .wpsm_nav-tabs > li.active > a:focus {\r\n\tcolor: #000000 !important;\r\n\tcursor: default;\r\n\tbackground-color: #ffffff !important;\r\n\tborder: 1px solid #e6e6e6 !important;\r\n}\r\n\r\n#tab_container_17079 .wpsm_nav-tabs > li > a {\r\n    margin-right: 0px !important; \r\n    line-height: 1.42857143 !important;\r\n    border: 1px solid #d5d5d5 !important;\r\n    border-radius: 0px 0px 0 0 !important; \r\n\tbackground-color: #e8e8e8 !important;\r\n\tcolor: #000000 !important;\r\n\tpadding: 15px 18px 15px 18px !important;\r\n\ttext-decoration: none !important;\r\n\tfont-size: 14px !important;\r\n\ttext-align:center !important;\r\n\tfont-family: Open Sans !important;\r\n}\r\n#tab_container_17079 .wpsm_nav-tabs > li > a:focus {\r\noutline: 0px !important;\r\n}\r\n\r\n#tab_container_17079 .wpsm_nav-tabs > li > a:before {\r\n\tdisplay:none !important;\r\n}\r\n#tab_container_17079 .wpsm_nav-tabs > li > a:after {\r\n\tdisplay:none !important ;\r\n}\r\n#tab_container_17079 .wpsm_nav-tabs > li{\r\npadding:0px !important ;\r\nmargin:0px;\r\n}\r\n\r\n#tab_container_17079 .wpsm_nav-tabs > li > a:hover , #tab_container_17079 .wpsm_nav-tabs > li > a:focus {\r\n    color: #000000 !important;\r\n    background-color: #e8e8e8 !important;\r\n\tborder: 1px solid #d5d5d5 !important;\r\n\t\r\n}\r\n#tab_container_17079 .wpsm_nav-tabs > li > a .fa{\r\n\r\nmargin-right:5px !important;\r\n\r\nmargin-left:5px !important;\r\n\r\n\r\n}\r\n\r\n\t\t#tab_container_17079 .wpsm_nav-tabs a{\r\n\t\t\tbackground-image: none;\r\n\t\t\tbackground-position: 0 0;\r\n\t\t\tbackground-repeat: repeat-x;\r\n\t\t}\r\n\t\t\t\r\n\r\n\r\n#tab_container_17079 .wpsm_nav-tabs > li {\r\n    float: left;\r\n    margin-bottom: -1px !important;\r\n\tmargin-right:0px !important; \r\n}\r\n\r\n\r\n#tab_container_17079 .tab-content{\r\noverflow:hidden !important;\r\n}\r\n\r\n\r\n@media (min-width: 769px) {\r\n\r\n\t#tab_container_17079 .wpsm_nav-tabs > li{\r\n\t\tfloat:left !important ;\r\n\t\t\t\tmargin-right:-1px !important;\r\n\t\t\t\t\t}\r\n\t#tab_container_17079 .wpsm_nav-tabs{\r\n\t\tfloat:none !important;\r\n\t\tmargin:0px !important;\r\n\t}\r\n\r\n\t#tab_container_17079 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_17079 .wpsm_nav{\r\n\t\t\t}\r\n\r\n}\r\n\r\n\r\n\r\n@media (max-width: 768px) {\r\n\t#tab_container_17079 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_17079 .wpsm_nav{\r\n\t\t\t}\r\n}\r\n\r\n\r\n\t.wpsm_nav-tabs li:before{\r\n\t\tdisplay:none !important;\r\n\t}\r\n\r\n\t@media (max-width: 768px) {\r\n\t\t\t\t\r\n\t\t\t\t.wpsm_nav-tabs{\r\n\t\t\tmargin-left:0px !important;\r\n\t\t\tmargin-right:0px !important; \r\n\t\t\t\r\n\t\t}\r\n\t\t\t\t#tab_container_17079 .wpsm_nav-tabs > li{\r\n\t\t\tfloat:none !important;\r\n\t\t}\r\n\t\t\t\r\n\t}\t\t\t\t<\/style>\r\n\t\t\t\t<div id=\"tab_container_17079\" >\r\n\t \r\n\t\t\t\t\t<ul class=\"wpsm_nav wpsm_nav-tabs\" role=\"tablist\" id=\"myTab_17079\">\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  class=\"active\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_17079_1\" aria-controls=\"tabs_desc_17079_1\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>Java<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t <\/ul>\r\n\r\n\t\t\t\t\t  <!-- Tab panes -->\r\n\t\t\t\t\t  <div class=\"tab-content\" id=\"tab-content_17079\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane  in active \" id=\"tabs_desc_17079_1\">\r\n\t\t\t\t\t\t\t\t<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\">import java.awt.*;  \r\npublic class AwtApp extends Frame {  \r\nAwtApp(){  \r\nLabel firstName = new Label(\"First Name\");  \r\nfirstName.setBounds(20, 50, 80, 20);  \r\n  \r\nLabel lastName = new Label(\"Last Name\");  \r\nlastName.setBounds(20, 80, 80, 20);  \r\n  \r\nLabel dob = new Label(\"Date of Birth\");  \r\ndob.setBounds(20, 110, 80, 20);  \r\n  \r\nTextField firstNameTF = new TextField();  \r\nfirstNameTF.setBounds(120, 50, 100, 20);  \r\n  \r\nTextField lastNameTF = new TextField();  \r\nlastNameTF.setBounds(120, 80, 100, 20);  \r\n  \r\nTextField dobTF = new TextField();  \r\ndobTF.setBounds(120, 110, 100, 20);  \r\n  \r\nButton sbmt = new Button(\"Submit\");  \r\nsbmt.setBounds(20, 160, 100, 30);  \r\n  \r\nButton reset = new Button(\"Reset\");  \r\nreset.setBounds(120,160,100,30);  \r\n  \r\nadd(firstName);  \r\nadd(lastName);  \r\nadd(dob);  \r\nadd(firstNameTF);  \r\nadd(lastNameTF);  \r\nadd(dobTF);  \r\nadd(sbmt);  \r\nadd(reset);  \r\n  \r\nsetSize(300,300);  \r\nsetLayout(null);  \r\nsetVisible(true);  \r\n}  \r\npublic static void main(String[] args) {  \r\n\/\/ TODO Auto-generated method stub  \r\nAwtApp awt = new AwtApp();  \r\n  \r\n}<\/pre>\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t <\/div>\r\n\t\t\t\t\t \r\n\t\t\t\t <\/div>\r\n <script>\r\n\t\tjQuery(function () {\r\n\t\t\tjQuery('#myTab_17079 a:first').tab('show')\r\n\t\t});\r\n\t\t\r\n\t\t\t\tjQuery(function(){\r\n\t\t\tvar b=\"fadeIn\";\r\n\t\t\tvar c;\r\n\t\t\tvar a;\r\n\t\t\td(jQuery(\"#myTab_17079 a\"),jQuery(\"#tab-content_17079\"));function d(e,f,g){\r\n\t\t\t\te.click(function(i){\r\n\t\t\t\t\ti.preventDefault();\r\n\t\t\t\t\tjQuery(this).tab(\"show\");\r\n\t\t\t\t\tvar h=jQuery(this).data(\"easein\");\r\n\t\t\t\t\tif(c){c.removeClass(a);}\r\n\t\t\t\t\tif(h){f.find(\"div.active\").addClass(\"animated \"+h);a=h;}\r\n\t\t\t\t\telse{if(g){f.find(\"div.active\").addClass(\"animated \"+g);a=g;}else{f.find(\"div.active\").addClass(\"animated \"+b);a=b;}}c=f.find(\"div.active\");\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\r\n\t\tfunction do_resize(){\r\n\r\n\t\t\tvar width=jQuery( '.tab-content .tab-pane iframe' ).width();\r\n\t\t\tvar height=jQuery( '.tab-content .tab-pane iframe' ).height();\r\n\r\n\t\t\tvar toggleSize = true;\r\n\t\t\tjQuery('iframe').animate({\r\n\t\t\t    width: toggleSize ? width : 640,\r\n\t\t\t    height: toggleSize ? height : 360\r\n\t\t\t  }, 250);\r\n\r\n\t\t\t  toggleSize = !toggleSize;\r\n\t\t}\r\n\r\n\r\n\t<\/script>\r\n\t\t\t\t\r\n\t\t\t\n<p><strong>Output<\/strong><br \/>\n<img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1688640874333-download%20%285%29.png\" alt=\"\" \/><\/p>\n<p><strong>Conclusion<\/strong><br \/>\nWhen it comes to developing GUIs in Java, choosing the right framework is crucial. Both AWT and Swing offer distinct features and capabilities that cater to different requirements. AWT&#8217;s peer-based architecture, platform-dependent appearance, and limited customization make it suitable for simpler applications that prioritize platform integration. On the other hand, Swing&#8217;s lightweight architecture, platform-independent look, extensive component library, and advanced customization options make it ideal for creating modern, feature-rich, and visually consistent applications across multiple platforms. By understanding the differences between AWT and Swing, developers can make an informed decision based on their specific project needs and the desired user experience.<\/p>\n<h2>Frequently Asked Questions (FAQs)<\/h2>\n<p><strong>1. What is the main difference between AWT and Swing in Java?<\/strong><br \/>\nAWT is based on a peer-based architecture, utilizing native platform components, while Swing follows a lightweight architecture with its own set of components. AWT has a platform-dependent look and feel, whereas Swing provides a platform-independent appearance.<\/p>\n<p><strong>2. Can I customize the components in AWT and Swing?<\/strong><br \/>\nAWT has limited customization options, allowing basic modifications like size and color changes. In contrast, Swing offers extensive customization capabilities, enabling developers to change appearance, behavior, layout, and even create custom components.<\/p>\n<p><strong>3. Which GUI framework, AWT or Swing, offers better performance?<\/strong><br \/>\nSwing generally provides better performance compared to AWT. Swing&#8217;s lightweight components and optimized rendering algorithms result in smoother UI rendering and improved overall performance.<\/p>\n<p><strong>4. Is event handling different in AWT and Swing?<\/strong><br \/>\nYes, event handling differs between AWT and Swing. AWT follows a simpler event handling model, where components directly register listeners. Swing, on the other hand, employs a more advanced event handling mechanism using event listeners and an event dispatching thread, allowing for more flexible and complex event management.<\/p>\n<p><strong>5. Are there any differences in documentation and community support for AWT and Swing?<\/strong><br \/>\nYes, there are differences in documentation and community support. Swing benefits from extensive documentation and a large community, with abundant online resources, tutorials, forums, and third-party libraries available. AWT, being older and less commonly used, has more limited documentation and community support.<\/p>\n<p>Remember that choosing between AWT and Swing depends on your project&#8217;s requirements, platform compatibility, customization needs, and performance considerations. Evaluating these factors will help you decide which GUI framework is best suited for your Java application.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Graphical User Interfaces (GUIs) play a crucial role in modern software development, allowing users to interact with applications effortlessly. In Java, developers have two main options for creating GUIs: AWT (Abstract Window Toolkit) and Swing. While both frameworks serve the purpose of building user interfaces, they differ significantly in terms of architecture, components, customization, performance, [&hellip;]<\/p>\n","protected":false},"author":52,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[143],"tags":[],"class_list":["post-17136","post","type-post","status-publish","format-standard","hentry","category-java"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Difference Between AWT and Swing In Java<\/title>\n<meta name=\"description\" content=\"AWT is based on a peer-based architecture, utilizing native platform components, while Swing follows a lightweight architecture with its own set of components.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Difference Between AWT and Swing In Java\" \/>\n<meta property=\"og:description\" content=\"AWT is based on a peer-based architecture, utilizing native platform components, while Swing follows a lightweight architecture with its own set of components.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/\" \/>\n<meta property=\"og:site_name\" content=\"PrepBytes Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prepbytes0211\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-06T10:56:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1688640582694-Difference%20between%20AWT%20and%20Swing%20in%20Java.jpg\" \/>\n<meta name=\"author\" content=\"Prepbytes\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Prepbytes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/\"},\"author\":{\"name\":\"Prepbytes\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\"},\"headline\":\"Difference Between AWT and Swing In Java\",\"datePublished\":\"2023-07-06T10:56:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/\"},\"wordCount\":779,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1688640582694-Difference%20between%20AWT%20and%20Swing%20in%20Java.jpg\",\"articleSection\":[\"Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/\",\"url\":\"https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/\",\"name\":\"Difference Between AWT and Swing In Java\",\"isPartOf\":{\"@id\":\"http:\/\/43.205.93.38\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1688640582694-Difference%20between%20AWT%20and%20Swing%20in%20Java.jpg\",\"datePublished\":\"2023-07-06T10:56:20+00:00\",\"description\":\"AWT is based on a peer-based architecture, utilizing native platform components, while Swing follows a lightweight architecture with its own set of components.\",\"breadcrumb\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/#primaryimage\",\"url\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1688640582694-Difference%20between%20AWT%20and%20Swing%20in%20Java.jpg\",\"contentUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1688640582694-Difference%20between%20AWT%20and%20Swing%20in%20Java.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\/\/43.205.93.38\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java\",\"item\":\"https:\/\/prepbytes.com\/blog\/category\/java\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Difference Between AWT and Swing In Java\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/43.205.93.38\/#website\",\"url\":\"http:\/\/43.205.93.38\/\",\"name\":\"PrepBytes Blog\",\"description\":\"ONE-STOP RESOURCE FOR EVERYTHING RELATED TO CODING\",\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/43.205.93.38\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"http:\/\/43.205.93.38\/#organization\",\"name\":\"Prepbytes\",\"url\":\"http:\/\/43.205.93.38\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp\",\"contentUrl\":\"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp\",\"width\":160,\"height\":160,\"caption\":\"Prepbytes\"},\"image\":{\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/prepbytes0211\/\",\"https:\/\/www.instagram.com\/prepbytes\/\",\"https:\/\/www.linkedin.com\/company\/prepbytes\/\",\"https:\/\/www.youtube.com\/channel\/UC0xGnHDrjUM1pDEK2Ka5imA\"]},{\"@type\":\"Person\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\",\"name\":\"Prepbytes\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g\",\"caption\":\"Prepbytes\"},\"url\":\"https:\/\/prepbytes.com\/blog\/author\/gourav-jaincollegedekho-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Difference Between AWT and Swing In Java","description":"AWT is based on a peer-based architecture, utilizing native platform components, while Swing follows a lightweight architecture with its own set of components.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/","og_locale":"en_US","og_type":"article","og_title":"Difference Between AWT and Swing In Java","og_description":"AWT is based on a peer-based architecture, utilizing native platform components, while Swing follows a lightweight architecture with its own set of components.","og_url":"https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/","og_site_name":"PrepBytes Blog","article_publisher":"https:\/\/www.facebook.com\/prepbytes0211\/","article_published_time":"2023-07-06T10:56:20+00:00","og_image":[{"url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1688640582694-Difference%20between%20AWT%20and%20Swing%20in%20Java.jpg","type":"","width":"","height":""}],"author":"Prepbytes","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Prepbytes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/#article","isPartOf":{"@id":"https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/"},"author":{"name":"Prepbytes","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e"},"headline":"Difference Between AWT and Swing In Java","datePublished":"2023-07-06T10:56:20+00:00","mainEntityOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/"},"wordCount":779,"commentCount":0,"publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1688640582694-Difference%20between%20AWT%20and%20Swing%20in%20Java.jpg","articleSection":["Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/","url":"https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/","name":"Difference Between AWT and Swing In Java","isPartOf":{"@id":"http:\/\/43.205.93.38\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/#primaryimage"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1688640582694-Difference%20between%20AWT%20and%20Swing%20in%20Java.jpg","datePublished":"2023-07-06T10:56:20+00:00","description":"AWT is based on a peer-based architecture, utilizing native platform components, while Swing follows a lightweight architecture with its own set of components.","breadcrumb":{"@id":"https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/#primaryimage","url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1688640582694-Difference%20between%20AWT%20and%20Swing%20in%20Java.jpg","contentUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1688640582694-Difference%20between%20AWT%20and%20Swing%20in%20Java.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/prepbytes.com\/blog\/difference-between-awt-and-swing-in-java\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/43.205.93.38\/"},{"@type":"ListItem","position":2,"name":"Java","item":"https:\/\/prepbytes.com\/blog\/category\/java\/"},{"@type":"ListItem","position":3,"name":"Difference Between AWT and Swing In Java"}]},{"@type":"WebSite","@id":"http:\/\/43.205.93.38\/#website","url":"http:\/\/43.205.93.38\/","name":"PrepBytes Blog","description":"ONE-STOP RESOURCE FOR EVERYTHING RELATED TO CODING","publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/43.205.93.38\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"http:\/\/43.205.93.38\/#organization","name":"Prepbytes","url":"http:\/\/43.205.93.38\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/","url":"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp","contentUrl":"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp","width":160,"height":160,"caption":"Prepbytes"},"image":{"@id":"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/prepbytes0211\/","https:\/\/www.instagram.com\/prepbytes\/","https:\/\/www.linkedin.com\/company\/prepbytes\/","https:\/\/www.youtube.com\/channel\/UC0xGnHDrjUM1pDEK2Ka5imA"]},{"@type":"Person","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e","name":"Prepbytes","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g","caption":"Prepbytes"},"url":"https:\/\/prepbytes.com\/blog\/author\/gourav-jaincollegedekho-com\/"}]}},"_links":{"self":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/17136","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/users\/52"}],"replies":[{"embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/comments?post=17136"}],"version-history":[{"count":1,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/17136\/revisions"}],"predecessor-version":[{"id":17137,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/17136\/revisions\/17137"}],"wp:attachment":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/media?parent=17136"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/categories?post=17136"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/tags?post=17136"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}