"Those folks don't have a lot of responsibilities," Obama said. "They are not commander in chief."
Tension with Iran, and Obama's preference for restraint, dominated his first full news conference of the year, held on the same day that Republican Super Tuesday voting was drawing attention as well.
On politics, Obama said that higher gasoline prices as a result of Mideast worries would be a bad idea for any president running for re-election, and he also said he was working to expand America's energy base.
He called violence in Syria "heartbreaking" but showed no new willingness for military involvement in that Mideast country.
Obama said his critics are forgetting the "cost of war" in their rush to punish Iran and defend Israel, which sees a nuclear Iran as a mortal threat in its Mideast neighborhood.
Rhetoric on the right is "more about politics than about trying to solve a difficult problem," Obama said.
He said he is focused on "crippling sanctions" already imposed on Iran and on international pressure to keep that nation from developing a nuclear weapon.
Obama said his private meetings with Israel's Benjamin Netanyahu this week carried the same message as his public pronouncements. And he implied that Israeli pressure for urgent action was not supported by the facts, saying that a decision was not necessary within the next weeks or months.
He added that Iranians need to show how serious they are about resolving the crisis. He said there are steps the Iranians can take "that are verifiable" and will allow it to be "in compliance with international norms and mandates."
On gas prices, Obama dismissed as laughable the suggestion by some Republican critics that he actually wants increases.
He said no president facing re-election would want to see gas prices rise because of the hardship that would cause to American families, and that he's asking his attorney general to examine whether speculation in the oil markets is driving up oil prices.
In the past month, gasoline prices have risen by more than 28 cents per gallon, making gasoline the most expensive ever for this time of year. On Tuesday, the nationwide average for regular unleaded slipped less than a penny to $3.764 per gallon, ending a string of price increases that began on Feb. 8.