我想做applet启动一个frame,然后点击frame打开一个网页的程序,可是我
这个是我的程序,等我不通过服务器的时候,就是说直接点text.html是没有问题,但我要是通过服务器访问的话,就打不开新页面,这个是怎么回事?有遇到过这个问题的朋友帮忙告诉一下啊
补充,我已经加了数字验证
text.html
<APPLET
code= "test.ShowLogNum.class"
archive="client.jar"
width= "100%"
height= "100%"
></APPLET>ShowLogNum.java
package test;import java.applet.Applet;
import java.awt.event.MouseEvent;
import java.net.MalformedURLException;
import java.net.URL;import javax.swing.JLabel;
import javax.swing.JPanel;public class ShowLogNum extends Applet { private JLabel jLabel = null;
private JPanel jPanel = null; /**
* This is the default constructor
*/
public ShowLogNum() {
super();
} public static void mousefClicked(java.awt.event.MouseEvent e) { if(e.getModifiers()==MouseEvent.BUTTON1_MASK){
System.out.println("您按了滑鼠第一个按钮!");
}
if(e.getModifiers()==MouseEvent.BUTTON2_MASK){
System.out.println("您按了滑鼠第二个按钮!");
}
if(e.getModifiers()==MouseEvent.BUTTON3_MASK){
System.out.println("您按了滑鼠第叁个按钮!");
}
} /**
* This method initializes this
*
* @return void
*/
public void init() {
jLabel = new JLabel();
jLabel.setText("<html><a href='ss'>消息来自</a><br><br>共有<a href='d'>1</a>条消息</html>");
jLabel.setLocation(new java.awt.Point(59,0));
jLabel.setSize(new java.awt.Dimension(118,79));
/*jLabel.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
}
});*/
jLabel.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
mousefClicked(e);
System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
try {
getAppletContext().showDocument(new URL("http://192.168.0.214:8080"),"_blank");
System.out.println("asdkjjksadsadjkdsjk;");
} catch (MalformedURLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
this.setSize(179, 79);
this.setLayout(null);
this.add(jLabel);
this.add(getJPanel(), null);
} /**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel() {
if (jPanel == null) {
jPanel = new JPanel();
jPanel.setBounds(new java.awt.Rectangle(1,1,56,77));
//jPanel.setSize(56,77);
}
return jPanel;
}} // @jve:decl-index=0:visual-constraint="10,10"
这个是我的程序,等我不通过服务器的时候,就是说直接点text.html是没有问题,但我要是通过服务器访问的话,就打不开新页面,这个是怎么回事?有遇到过这个问题的朋友帮忙告诉一下啊
补充,我已经加了数字验证
text.html
<APPLET
code= "test.ShowLogNum.class"
archive="client.jar"
width= "100%"
height= "100%"
></APPLET>ShowLogNum.java
package test;import java.applet.Applet;
import java.awt.event.MouseEvent;
import java.net.MalformedURLException;
import java.net.URL;import javax.swing.JLabel;
import javax.swing.JPanel;public class ShowLogNum extends Applet { private JLabel jLabel = null;
private JPanel jPanel = null; /**
* This is the default constructor
*/
public ShowLogNum() {
super();
} public static void mousefClicked(java.awt.event.MouseEvent e) { if(e.getModifiers()==MouseEvent.BUTTON1_MASK){
System.out.println("您按了滑鼠第一个按钮!");
}
if(e.getModifiers()==MouseEvent.BUTTON2_MASK){
System.out.println("您按了滑鼠第二个按钮!");
}
if(e.getModifiers()==MouseEvent.BUTTON3_MASK){
System.out.println("您按了滑鼠第叁个按钮!");
}
} /**
* This method initializes this
*
* @return void
*/
public void init() {
jLabel = new JLabel();
jLabel.setText("<html><a href='ss'>消息来自</a><br><br>共有<a href='d'>1</a>条消息</html>");
jLabel.setLocation(new java.awt.Point(59,0));
jLabel.setSize(new java.awt.Dimension(118,79));
/*jLabel.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
}
});*/
jLabel.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
mousefClicked(e);
System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
try {
getAppletContext().showDocument(new URL("http://192.168.0.214:8080"),"_blank");
System.out.println("asdkjjksadsadjkdsjk;");
} catch (MalformedURLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
this.setSize(179, 79);
this.setLayout(null);
this.add(jLabel);
this.add(getJPanel(), null);
} /**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel() {
if (jPanel == null) {
jPanel = new JPanel();
jPanel.setBounds(new java.awt.Rectangle(1,1,56,77));
//jPanel.setSize(56,77);
}
return jPanel;
}} // @jve:decl-index=0:visual-constraint="10,10"
如果我直接用IE打开text.html是没有问题的,我是想通过实现通过服务器来访问我的applet(http://192.168.0.12:8080/text.html),我的frame界面也出来了,可是点击打不开网页
jdk1.5.0_02\docs\guide\plugin\developer_guide\contents.html
你是通过服务器访问的吗?
1)把ShowLogNum中的URL改为"http://localhost:8080/tomcat-docs/index.html"
2)把"_blank"改为"_self"。可能是我的浏览器有问题,使用“_blank”没有结果,不管是否使用服务器。
3)把text.html和class放到tomcat的"webapps\tomcat-docs\"目录下
4)打开浏览器,输入http://localhost:8080/tomcat-docs/text.html,applet启动。
5)点击“按钮”,页面改变。你的问题可能是出在URL上。我使用“http://localhost:8080”和“http://localhost:8080/tomcat-docs”都没有反应。
1)"_blank"这个条件没变,我的不在服务器访问(就是直接写一个HTML文件,直接打开)的话就好用的,可以打开一个新网页
2)"_blank"这个条件没变,在服务器访问的话没有反映。
3)"_self"不管是在服务器还是不在服务器上都好用。现在我的需求是需要打开一个新网页,我想知道"_blank"这个是不是可以打开一个新网页(在服务器访问)
你的问题是不是也是这样?或者,可能会与防火墙有关。
http://community.csdn.net/Expert/TopicView1.asp?id=4761463