弹出一个框架

时间:2009-07-17 06:57:46

标签: java swing

我正在开发一个项目(Java,Swing),我必须在单击超链接时弹出一个框架。但是框架及其所有组件的编码是在不同的类中完成的,并且该超链接存在于不同的类中。如何点击超链接弹出那个框架请告诉我。感谢。

2 个答案:

答案 0 :(得分:1)

  

框架及其所有组件的编码是在不同的类中完成的,并且该超链接存在于不同的类中

你是什么意思?你有另一个继承自JFrame / Frame的类吗?或者你在这个类的方法中创建该框架? 如果是后者为什么不能从外面调用这种方法? 包含Frame和Hyperlink的类到底是如何相互关联的呢?

请注明......

[编辑] 也许HyperlinkListener界面可能会对您有所帮助。

最高

答案 1 :(得分:0)

更新:忽略以下所有内容 - 经OP确认后,这是 Java 问题不是JavaScript问题。

您的意思是:“如何在点击超链接时突破框架”?

如果是这样,您需要在页面结构中将链接的目标属性设置为“空白”或尚未使用的名称。

<a href="page4.html">This link stays in the frame</a>
<a href="page4.html" target="blank">This link pops out of the frame</a>
<p>Note: the 2nd link may open in a new window, or in a new tab
   depending on the user's preference settings.
</p>
<b>Other options</b>
<a href="page4.html" target="_parent">This link pops opens in the direct parent window</a>
<a href="page4.html" target="_top">This link pops opens in the most grandparent window</a>

或者,您可以使用JavaScript来调用window.open(...);

如果您对框架生成的HTML有 NO 控制权,您仍然可以通过从父窗口以编程方式设置目标属性来控制链接的位置,只要这2页来自相同的域名(出于安全原因)

<script>
  var childFrameLinks = window.frames['yourFrameName'].document.links;
  for(var i=0;i<childFrameLinks.length;i++){
    childFrameLinks[i].target = 'blank';
  }
</script>