{"id":11112,"date":"2022-09-26T04:13:43","date_gmt":"2022-09-25T22:43:43","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/"},"modified":"2022-09-26T04:13:43","modified_gmt":"2022-09-25T22:43:43","slug":"solved-how-can-i-use-program-a-game-after-swing-timer-stopped","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/","title":{"rendered":"[Solved] How can I use Program a game after swing.Timer stopped?"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-19445467\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"19445467\" data-parentid=\"19440894\" data-score=\"2\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>Your problem is that you don&#8217;t use correct architecture pattern. You should separate your business logic from your presentation. Also you should store variables (like <code>time_left<\/code>) in model, not in the controller (i.e. <code>ActionListener<\/code>). Please read about: <a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/en.wikipedia.org\/wiki\/Model%E2%80%93view%E2%80%93controller\">Model View Controller<\/a> pattern. It&#8217;s a basic pattern and it&#8217;ll solve most of yours problems.<\/p>\n<h2><strong>Basic Example<\/strong><\/h2>\n<p><img decoding=\"async\" src=\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/09\/Solved-How-can-I-use-Program-a-game-after-swingTimer.png\" alt=\"mvc\"><\/p>\n<p><strong>Editor.java &#8211; main class<\/strong><\/p>\n<pre><code>public class Editor {\n    public static void main(String[] args) {\n        Model model = new Model();\n        View view = new View(model);\n        new Controller(model, view);\n    }\n}\n<\/code><\/pre>\n<p><strong>View.java<\/strong><\/p>\n<pre><code>public class View extends JFrame {\n\n    private Model model;\n    private JButton btn;\n\n    public View(Model model) {\n        this.model = model;\n        this.btn = new JButton(\"Test\");\n    }\n\n    public void addViewControlListener(ActionListener al){\n        btn.addActionListener(al);\n    }\n}\n<\/code><\/pre>\n<p><strong>Controller.java<\/strong><\/p>\n<pre><code>public class Controller {\n    public Controller(Model model, View view) {\n        view.addViewControlListener(new ViewControlListener(model, view));\n    }\n}\n<\/code><\/pre>\n<p><strong>ViewControlListener.java &#8211; implements ActionListener<\/strong><\/p>\n<pre><code>public class ViewControlListener implements ActionListener {\n\n    private Model model;\n    private View view;\n\n    public ViewControlListener(Model model, View view){\n        this.model = model;\n        this.view = view;\n    }\n\n    public void actionPerformed(ActionEvent e) {\n        \/\/update model\n        \/\/refresh view\n    }\n\n}\n<\/code><\/pre>\n<p>As you can see I have the one place (<code>Controller.java<\/code>) where I create listeners and add<br \/>\nthese to components in view. You created multiple instances of the same listeners and lost control.<\/p>\n<p>Also my <code>ActionListener<\/code> (<code>ViewControlListener.java<\/code>) holds instances of model and view, so it can update variables in model and refresh view.<\/p>\n<h2><strong>Your application<\/strong><\/h2>\n<p>And now something more about your application. You need thread (not realy action listener) that would decrement time variable and update view to show actual state (but only when game is active). <\/p>\n<p>So you could create in model <code>leftTime<\/code> and <code>isActive<\/code> variables with setters and getters:<\/p>\n<pre><code>private int leftTime;\nprivate boolean isActive;\n\npublic int getLeftTime() {\n    return leftTime;\n}\n\npublic void setLeftTime(int leftTime) {\n    this.leftTime = leftTime;\n}\n\npublic void decLeftTime() {\n    this.leftTime--;\n}\n\npublic boolean isActive() {\n    return isActive;\n}\n\npublic void setActive(boolean isActive) {\n    this.isActive = isActive;\n}\n<\/code><\/pre>\n<p>And create thread that decrement time every second and repaint the view:<\/p>\n<pre><code>public class Timer extends Thread {\n\n    private Model model;\n    private View view;\n\n    public Timer(Model model, View view) {\n        this.model = model;\n        this.view = view;\n    }\n\n    public void run() {\n        while(true) { \/\/could be better\n            if(model.isActive()) {\n                model.decLeftTime();\n                view.repaint();\n            }\n            try {\n                sleep(1000);\n            } catch (InterruptedException e) {\n                e.printStackTrace();\n            }\n        }\n    }\n}\n<\/code><\/pre>\n<p>Then create and start that thread in Controller:<\/p>\n<pre><code>public class Controller {\n    public Controller(Model model, View view) {\n        view.addViewControlListener(new ViewControlListener(model, view));\n        ...\n        Timer timer = new Timer(model, view);\n        timer.start();\n    }\n}\n<\/code><\/pre>\n<p>In view you would add some component that shows left time from model and that&#8217;s it.<\/p>\n<p>PS do not forget set <code>leftTime<\/code> on game start.<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">1<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved How can I use Program a game after swing.Timer stopped? <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] Your problem is that you don&#8217;t use correct architecture pattern. You should separate your business logic from your presentation. Also you should store variables (like time_left) in model, not in the controller (i.e. ActionListener). Please read about: Model View Controller pattern. It&#8217;s a basic pattern and it&#8217;ll solve most of yours problems. Basic Example &#8230; <a title=\"[Solved] How can I use Program a game after swing.Timer stopped?\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/\" aria-label=\"More on [Solved] How can I use Program a game after swing.Timer stopped?\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[573,323,621,1152],"class_list":["post-11112","post","type-post","status-publish","format-standard","hentry","category-solved","tag-eclipse","tag-java","tag-swing","tag-timer"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] How can I use Program a game after swing.Timer stopped? - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] How can I use Program a game after swing.Timer stopped? - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] Your problem is that you don&#8217;t use correct architecture pattern. You should separate your business logic from your presentation. Also you should store variables (like time_left) in model, not in the controller (i.e. ActionListener). Please read about: Model View Controller pattern. It&#8217;s a basic pattern and it&#8217;ll solve most of yours problems. Basic Example ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-25T22:43:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/09\/Solved-How-can-I-use-Program-a-game-after-swingTimer.png\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] How can I use Program a game after swing.Timer stopped?\",\"datePublished\":\"2022-09-25T22:43:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/\"},\"wordCount\":236,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/09\/Solved-How-can-I-use-Program-a-game-after-swingTimer.png\",\"keywords\":[\"eclipse\",\"java\",\"swing\",\"timer\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/\",\"name\":\"[Solved] How can I use Program a game after swing.Timer stopped? - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/09\/Solved-How-can-I-use-Program-a-game-after-swingTimer.png\",\"datePublished\":\"2022-09-25T22:43:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/#primaryimage\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/09\/Solved-How-can-I-use-Program-a-game-after-swingTimer.png\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/09\/Solved-How-can-I-use-Program-a-game-after-swingTimer.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] How can I use Program a game after swing.Timer stopped?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] How can I use Program a game after swing.Timer stopped? - JassWeb","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:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] How can I use Program a game after swing.Timer stopped? - JassWeb","og_description":"[ad_1] Your problem is that you don&#8217;t use correct architecture pattern. You should separate your business logic from your presentation. Also you should store variables (like time_left) in model, not in the controller (i.e. ActionListener). Please read about: Model View Controller pattern. It&#8217;s a basic pattern and it&#8217;ll solve most of yours problems. Basic Example ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/","og_site_name":"JassWeb","article_published_time":"2022-09-25T22:43:43+00:00","og_image":[{"url":"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/09\/Solved-How-can-I-use-Program-a-game-after-swingTimer.png","type":"","width":"","height":""}],"author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] How can I use Program a game after swing.Timer stopped?","datePublished":"2022-09-25T22:43:43+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/"},"wordCount":236,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"image":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/#primaryimage"},"thumbnailUrl":"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/09\/Solved-How-can-I-use-Program-a-game-after-swingTimer.png","keywords":["eclipse","java","swing","timer"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/","url":"https:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/","name":"[Solved] How can I use Program a game after swing.Timer stopped? - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"primaryImageOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/#primaryimage"},"image":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/#primaryimage"},"thumbnailUrl":"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/09\/Solved-How-can-I-use-Program-a-game-after-swingTimer.png","datePublished":"2022-09-25T22:43:43+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/#primaryimage","url":"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/09\/Solved-How-can-I-use-Program-a-game-after-swingTimer.png","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/uploads\/2022\/09\/Solved-How-can-I-use-Program-a-game-after-swingTimer.png"},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-how-can-i-use-program-a-game-after-swing-timer-stopped\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] How can I use Program a game after swing.Timer stopped?"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/11112","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=11112"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/11112\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=11112"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=11112"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=11112"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}