當前位置:首頁 » 編程語言 » java新頁面

java新頁面

發布時間: 2022-04-28 14:33:31

⑴ 在java里怎樣才能實現點擊一個添加按鈕,又增加一頁。就像打開一個網站,右邊的那個按鈕一樣實現新的頁面

javascript 里有一個屬性叫target=『_blank』可以實現打開一個新的窗口,

⑵ java打開新窗口,原窗口不可操作,關閉新窗口後,原窗口才可操作

對於自定義窗體來說,最簡單直接的做法就是讓新窗體繼承javax.swing.JDialog(對話框屬於頂級窗口,跟JFrame同級),在創建該窗體後加上setModalityType()就可實現打開新窗口後原窗口不能動作,關閉新窗口後方可動作的操作。

NewFramenf=newNewFrame();//繼承JDialog的窗體類
nf.setModalityType(Dialog.ModalityType.APPLICATION_MODAL);//設置模式類型。
//參數APPLICATION_MODAL:阻塞同一Java應用程序中的所有頂層窗口(它自己的子層次
//結構中的頂層窗口除外)。
nf.setVisible(true);

P.S.. setModalityType()只有JDialog類才有。

非要用JFrame類的話,目前可行的只有設置setEnable(false),效果一樣。但對於多個自定義的窗體類不在同一個類文件中時操作起來相對不友好。需進行監聽操作以『喚醒』窗體。

⑶ java程序 點擊導航欄 為什麼新開一個頁面

那是因為設置了target屬性,
_blank,在新瀏覽器窗口中打開鏈接文件。
_self,在同一框架或窗口中打開所鏈接的文檔。此參數為默認值,通常不用指定。
打開新頁面的導航地址中的target屬性應該設置的是_blank

⑷ 如何在java程序中,當點擊一個按鈕後,關閉當前窗口,開啟一個新的窗口。

  • 首先分析需要的GUI技術

java中一般使用swing 和awt技術來實現圖形界面,Swing組件較多,功能比較強大,所以這里使用Swing組件來實現。窗口使用(JFrame),按鈕使用(JButton)。


  • 設想一個符合題目需求的場景

兩個窗口關聯並且跳轉,最常見的場景就是登陸了。

登陸窗口,輸入用戶名和密碼,如果成功就跳轉到主窗口


  • 核心邏輯,跳轉窗口的關鍵代碼

    一般可以隱藏本窗口(setVisible(false);),顯示新窗口來實現窗口的跳轉。

但是隱藏窗口,會在後面浪費系統資源。

如果不再使用該窗口,應該徹底銷毀(dispose();),釋放系統資源


  • 代碼和注釋

LoginFrame 類

importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;

//LoginFrame登陸窗口功能實現用戶登陸,如果成功就跳轉
//LoginFrame繼承於窗口類,並實現ActionListener介面
{
//申明需要的組件
JButtonjb1,jb2;//按鈕
JTextFieldjtf1;//文本框
JPasswordFieldjpf1;//密碼框

publicLoginFrame(){
//窗口屬性的設置
setTitle("登陸窗");//窗口標題
setSize(300,180);//窗口大小
setLocationRelativeTo(null);//窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE);//關閉窗口則退出虛擬機
setLayout(newFlowLayout());//設置布局流式布局

JPaneljp=newJPanel(newGridLayout(4,1));//設置面板為表格布局4行1列
//第一行
JPaneljp1=newJPanel();
JLabeljl1=newJLabel("賬號");
jtf1=newJTextField(12);
jp1.add(jl1);
jp1.add(jtf1);
jp.add(jp1);
//第二行
JPaneljp2=newJPanel();
JLabeljl2=newJLabel("密碼");
jpf1=newJPasswordField(12);
jp2.add(jl2);
jp2.add(jpf1);
jp.add(jp2);
//第三行
JPaneljp3=newJPanel();
jb1=newJButton("登陸");
jb1.addActionListener(this);//添加動作響應器
jb2=newJButton("重置");
jb2.addActionListener(this);//添加動作響應器
jp3.add(jb1);
jp3.add(jb2);
jp.add(jp3);
//第四行
JPaneljp4=newJPanel();
JLabeljl3=newJLabel("提示:賬號admin密碼123");
jl3.setForeground(Color.DARK_GRAY);
jp4.add(jl3);
jp.add(jp4);

add(jp);

}

//動作響應
publicvoidactionPerformed(ActionEvente){
Stringcmd=e.getActionCommand();//根據動作命令,來進行分別處理
if(cmd.equals("登陸")){
Stringid=jtf1.getText();//取得用戶名
Stringkey=newString(jpf1.getPassword());//取得密碼
if(id.equals("admin")&&key.equals("123")){//判斷是否登錄成功
//如果登錄成功
setVisible(false);//本窗口隱藏,
newMainFrame(id).setVisible(true);//新窗口顯示
dispose();//本窗口銷毀,釋放內存資源
}else{
//如果登錄失敗彈出提示
JOptionPane.showMessageDialog(this,"用戶名或者密碼錯誤.","通知",JOptionPane.ERROR_MESSAGE);
clearText();//清空文本框密碼框的輸入
}
}elseif(cmd.equals("重置")){
clearText();
}

}

privatevoidclearText(){//清空文本框,密碼框的輸入
jtf1.setText("");
jpf1.setText("");
}

//main方法,程序的入口
publicstaticvoidmain(String[]args){
newLoginFrame().setVisible(true);//創建登錄窗口,並可見
}

}

MainFrame類

importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;

{

publicMainFrame(Stringname){
setTitle("主窗口");//標題
setSize(300,260);//大小
setLocationRelativeTo(null);//居中
setDefaultCloseOperation(EXIT_ON_CLOSE);
JPaneljp=newJPanel();
JLabeljl1=newJLabel("歡迎");
JLabeljl2=newJLabel(name);
jl2.setForeground(Color.BLUE);//設置文本顏色
JLabeljl3=newJLabel("使用系統.");
jp.add(jl1);
jp.add(jl2);
jp.add(jl3);
add(jp,BorderLayout.NORTH);
JTextAreajta=newJTextArea();
jta.setLineWrap(true);
jta.append("消息提示");
jta.append("消息!通知~!");
JScrollPanejsp=newJScrollPane(jta,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
add(jsp);
JPaneljp2=newJPanel();
JButtonjb=newJButton("退出");
jb.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
System.exit(0);//退出
}
});
jp2.add(jb);
add(jp2,BorderLayout.SOUTH);
}

}


  • 運行效果圖

⑸ Java中實現點擊一個按鈕出現一個新的頁面且關閉當前頁面

採用以下代碼即可:

JButtonbtn=newJButton(newAbstractAction("關閉並打開"){
@Override
publicvoidactionPerformed(ActionEvente){
oldFrame.dispose();//關閉並銷毀,無需銷毀可採用oldFrame.setVisible(false);
newFrame.setVisible(true);//打開新窗口
}
});

⑹ java彈出新窗口

定義一個按鈕的OnClick事件
裡面用寫方法調用彈出窗口

代碼
import java.awt.*;
import javax.swing.*;
import java.awt.Rectangle;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class Frame1 extends JFrame
{
private JButton jButton1=new JButton();

public Frame1 ()
{
try {
jbInit();
}
catch(Exception exception) {
exception.printStackTrace();
}
this.setVisible(true);
}

private void jbInit () throws Exception
{
this.setBounds(300,180,400,300);
getContentPane().setLayout(null);
jButton1.setBounds(new Rectangle(127, 120, 139, 36));
jButton1.setMnemonic('C');
jButton1.setText("點我(C)");
jButton1.addActionListener(new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
jButton1_actionPerformed(e);
}
});
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.getContentPane().add(jButton1);
}

public static void main (String[] args)
{
Frame1 frame1=new Frame1();
}

public void jButton1_actionPerformed (ActionEvent e)
{
this.setVisible(false);
JFrame jf1=new JFrame("子窗口");
jf1.setBounds(100,50,800,600);
jf1.setDefaultCloseOperation(jf1.EXIT_ON_CLOSE);
jf1.setVisible(true);
}
}

⑺ java中如何實現點擊一個按鈕出現一個新的窗口頁面

<a href="#" onclick="window.open('yournewpage.aspx')">超級連接按鈕</a>
或者
<input value="普通按鈕" name="button" type="button" onclick="window.open('yournewpage.aspx')">

⑻ JAVA中打開新頁面代碼

/**
* 打開列印窗口
* url:鏈接頁面或action動作
* Banglu
*/
function printWindow(url){
var sURL = url;
var sFeatures = "toolbar=no, menubar=no, scrollbars=no,resizable=yes, "
+ "location=no, status=no, titlebar=no, width=800, height=600, top=100, left=100";
window.open(sURL,'notoolbar',sFeatures);
}function exportWindow(url){
var sURL = url;
var sFeatures = "toolbar=no, menubar=no, scrollbars=no,resizable=yes, "
+ "location=no, status=no, titlebar=no, width=800, height=600, top=50, left=50";
var objwin=window.open(sURL,'export'+randomNum(),sFeatures);
objwin.close();
}
/**
* 打開模態窗口
* url:鏈接頁面或action動作
* width:打開模態窗口的寬度
* height:打開模態窗口的高度
* 注意:打開模態窗口的頁面中要在<head>後面加上
* <meta http-equiv="Pragma" content="no-cache">:禁止模態窗口緩存
* <base target="_self"/>:模態窗口中的表單在本窗口中提交
* <a onClick='window.location = "view-source:" + window.location.href'><b>源文件</b></a> 可以查看模態窗口的源文件
* Banglu
*/
function modalWindow(url, width, height){
var sURL = url;
var sFeatures = "dialogWidth:" + width + "px; dialogHeight:" + height + "px; "
+ "help:no; scroll:yes; center:yes; status:no;resizable:yes";
window.showModalDialog(sURL, window, sFeatures);

}/**
* 打開普通窗口
* url:鏈接頁面或action動作
* width:寬度
* height:高度
* Banglu
*/
function openWindow(url, width, height){
var sURL=url;
var sFeatures = "scrollbars=yes, status=yes, resizable=yes,"
+ "toolbar=yes, menubar=yes, location=yes, titlebar=yes"
if(width!=null){
sFeatures+=", width="+width;
}
if(height!=null){
sFeatures+=", height="+height;
}
window.open(sURL, 'open'+randomNum(), sFeatures);
}/**
* 打開窗口
* url:鏈接頁面或action動作
* width:寬度
* height:高度
Banglu
*/
function openNoBarWindow(url, width, height){
var sURL=url;
var sFeatures = "scrollbars=no, status=no, resizable=no,"
+ "toolbar=no, menubar=no, location=no, titlebar=no"
if(width!=null){
sFeatures+=", width="+width;
sFeatures+=", left="+(screen.width-width)/2;
}
if(height!=null){
sFeatures+=", height="+height;
sFeatures+=", top="+(screen.height-height-100)/2;
}
window.open(sURL, 'openNoBar'+randomNum(), sFeatures);
}
/**
* 打開全屏窗口
* url:鏈接頁面或action動作
* Banglu
*/
function openFullWindow(url){
var sURL=url;
var sFeatures = "toolbar=no, menubar=no, scrollbars=no, resizable=yes, "
+ "location=no, status=no, titlebar=no, width="+(screen.width-10)+", "
+ "height="+(screen.height-60)+", top=0, left=0";
window.open(sURL, 'full'+randomNum(), sFeatures);
}/**
* 打開主窗口
* url:鏈接頁面或action動作
* Banglu
*/
function openMainWindow(url){
var sURL=url;
var sFeatures = "toolbar=no, menubar=no, scrollbars=no, resizable=yes, "
+ "location=no, status=no,titlebar=no, width="+(screen.width-10)+", "
+ "height="+(screen.height-60)+", top=0, left=0";
window.open(sURL, 'main', sFeatures);
}
/**
* 設置鏈接
* url:連接的jsp頁面或action動作
* Banglu
*/
function link(url, frameID){
if(frameID==null){
window.location.href = url;
}
else{
window.frames[frameID].location = url
}
}/**
* 回車代替tab
* Banglu
*/
function handleKey(){
var gk = window.event.keyCode;
if (gk==13) {
if(window.event.srcElement.tagName!='TEXTAREA'){
window.event.keyCode=9;
return;
}
}
}/**
* 全屏顯示
* Banglu
*/
function fullScreen(){
window.dialogHeight=window.screen.availHeight;
window.dialogWidth=window.screen.availWidth;
}

function Resize_dialog(t,l,w,h) {
window.dialogTop = t+"px";
window.dialogLeft = l+"px";
window.dialogHeight = h+"px";
window.dialogWidth = w+"px";
}

熱點內容
安卓備忘錄怎麼轉蘋果去 發布:2025-07-14 20:57:16 瀏覽:114
加密貨幣app 發布:2025-07-14 20:46:57 瀏覽:553
醫院防汛演練方案與腳本 發布:2025-07-14 20:41:11 瀏覽:778
公網ip做域伺服器地址 發布:2025-07-14 20:40:13 瀏覽:52
php獲取幾 發布:2025-07-14 20:22:20 瀏覽:376
舊安卓如何刷入最新安卓 發布:2025-07-14 20:16:14 瀏覽:763
伺服器或網路不給力是什麼意思 發布:2025-07-14 20:15:36 瀏覽:318
爬網站資料庫 發布:2025-07-14 20:15:20 瀏覽:520
邵雍的演算法 發布:2025-07-14 20:13:49 瀏覽:119
離線燒錄加密 發布:2025-07-14 20:12:13 瀏覽:620