① java中如何做到界面的跳转
假如有两个frame,分别为frame1,frame2,frame1加个按钮实现跳转.frame1代码如下
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class frame1 extends JFrame implements ActionListener{
/**
* @param args
*/
private JButton jb;
public frame1()
{
this.setSize(300, 200);
this.setLocation(300, 400);
jb=new JButton("跳转");
this.add(jb);
jb.addActionListener(this);//加入事件监听
this.setVisible(true);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
frame1 frame=new frame1();
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==jb)
{
this.dispose();//点击按钮时frame1销毁,new一个frame2
new frame2();
}
}
}
frame2是个单纯的界面
import javax.swing.JButton;
import javax.swing.JFrame;
public class frame2 extends JFrame{
/**
* @param args
*/
public frame2()
{
this.setSize(300, 200);
this.setLocation(300, 400);
this.setVisible(true);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
frame2 frame=new frame2();
}
}
② java怎么实现窗口跳转
完整程序没那个功夫,如果你说的是Swing开发的话,通常是在点击按钮的时候把当前窗口的对象传递给即将打开的子窗口,并在子窗口的onload事件中控制父窗口的显示状态。
③ java怎样实现两个窗口的跳转
两个窗口是两个对象,两个类。初始状态为f1.setVisible(true);f2.setVisible(false);
在窗口f1中添加按钮,并注册监听,当点击按钮设置:f1.setVisible(false);f2.setVisible(true);
或者f1.dispose();f2.setVisible(true);
可以写一个控制类来控制这两个窗口
控制类不是继承。。是注入。把两个窗口类注入到控制类中
④ web中的跳转语句 java中的跳转语句
在JSP中,跳转页面有两种方式:1.forward跳转: 2.response跳转:response.sendRedirect("跳转页面地址");两种跳转的区别如下:1.forward跳转:a.服务器端跳转,地址栏不改变;b.执行到跳转语句后马上无条件跳转,之后的代码不再执行(跳转之前一定要释放全部资源);c.request设置的属性在跳转后的页面仍可以使用;d.使用 传递参数。裂哗岩2.response跳转:a.客户端跳转,地址栏改变;b.所有代码执行完毕后跳转;c.跳转后的页面不能使用上一个页面的request属性;d.使用地址重写传递参数(response.sendRedirect("URL?参数名=参数值"))。
一、跳转到新页面,并且是在新窗口中打开页面:
function openHtml
{
//do someghing here...
window.open("xxxx.");
}
window是一个javascript对象,可以用它的open方法,需要注意的是,如果这个页面不是一相相对路径,那么要加“://”,比如:
function openHtml
{
window.open("[]");
}
二、在本页面窗口中跳转:
function totest2
{
window.location.assign("test2.");
}
如果直接使用location.assgin也可以,但是window.location.assign更合理一些,当前窗口的location对象的assign方法。
另外,location对象还有一个方法replace也可以做页面跳转,它跟assign方法的区别在于:
replace 方法不会在 History 对象中生成一个新的纪录。当使用该方法时,新的 URL 将覆盖 History 对象中的当前纪录。
页面跳转如果不芦禅是在程序里面的话都是通过a标签链接跳转的,而且a标签的跳转方式有
_blank是最常见的链接方式,表示超链接的目标地址在新建窗口中打开;
_self表示“相同窗口”。点击链接后,地址栏不变;
_top表示整页窗口;
_parent表示父窗口。
response.sendRedirect
重定向本质是两次请求,附带的参数会丢失,但是看你程序是从session里取数据,所以在本次会话内,你的数据有效,questions能正常取到数据,下面显示会正常。如果是request 作用域内,就会取不到。
//腾讯网的适配代码
//其他的适配代码(后缀名为.js肆御并引用至网页)
JSP跳转到Servlet:
1. 注意,这里的url不能直接写你的servlet名称,而要填写web.xml里该servlet的url-pattern,即“/xxxServlet"形式。有斜杠,斜杠,杠。另外,这种方式直接跳走了,在servlet里写上跳转回原页面的语句,就会报错java.io.IOException: Stream closed。
2. 同上,url有斜杠。这种方式的好处是servlet里不用写跳转语句,会自动回到原来页面,因为这是一个动态包含文件命令。另外,该方式还能传递多个参数,你懂的。
3.借助javascript.如
Servlet跳转到JSP
1.response.sendRedirect("URL")跳转后浏览器地址栏变化。可以将页面跳转到任何页面,不一定局限于本web应用中。
这种方式要传值出去的话,只能在url中带parameter或者放在session中,无法使用request.setAttribute来传递。
2.request.getRequestDispatcher("/a.jsp")。dispatcher .forward(request, response);
Servlet页面跳转的路径是相对路径。forward方式只能跳转到本web应用中的页面上。跳转后浏览器地址栏不会变化。
使用这种方式跳转,传值可以使用三种方法:url中带parameter,session,request.setAttribute
你可以在jsp页面使用超链接标签 例如 点击我跳转
也可以在后台servlet中使用 重定向 例如 response.sendRedirect("xxx.jsp");
也可以使用转发 例如 request.getRequestDispatcher("xxx.jsp").forward(request.response);
标签:作文经典 上一篇:昆明的诗句 写昆明的诗句 下一篇:偶尔的近义词反义词 偶尔的反义词⑤ 有关java中的界面跳转
package com.sxt.bms.view;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class LoginFrame extends JFrame implements ActionListener {
private JPasswordField passwordField;
private JTextField textField;
/**
* Launch the application
* @param args
*/
public static void main(String args[]) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
LoginFrame frame = new LoginFrame();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame
*/
public LoginFrame() {
super();
setTitle("超MAN图书管理系统");
setResizable(false);
getContentPane().setLayout(null);
setBounds(100, 100, 299, 295);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel lblHeader= new JLabel();
lblHeader.setIcon(new ImageIcon("image/logo.JPG"));
lblHeader.setBounds(0, -1, 301, 100);
getContentPane().add(lblHeader);
final JLabel label = new JLabel();
label.setText("帐号");
label.setBounds(53, 132, 48, 18);
getContentPane().add(label);
textField = new JTextField();
textField.setBounds(107, 132, 159, 22);
getContentPane().add(textField);
final JLabel label_1 = new JLabel();
label_1.setText("密码");
label_1.setBounds(53, 172, 48, 18);
getContentPane().add(label_1);
passwordField = new JPasswordField();
passwordField.setBounds(107, 172, 159, 22);
getContentPane().add(passwordField);
final JButton btnLogin = new JButton();
btnLogin.addActionListener(this);
btnLogin.setText("登录");
btnLogin.setBounds(27, 210, 106, 28);
getContentPane().add(btnLogin);
final JButton btnCancel = new JButton();
btnCancel.setText("退出");
btnCancel.setBounds(171, 210, 106, 28);
getContentPane().add(btnCancel);
//
this.setLocationRelativeTo(null);
}
public void actionPerformed(final ActionEvent e) {
if(e.getActionCommand().equals("登录")){
//数据库判断
MainFrame mainFrame=new MainFrame();
mainFrame.setVisible(true);
this.dispose();
}else if(e.getActionCommand().equals("退出")){
System.exit(0);
}
}
}