新手建議要么下載個editplus編輯。。懶人的做法就是:新建一個文本文檔寫java代碼,寫完后,另存為 【XXX.java】后綴名為java類型的文件、、記得是后綴名,而不是后面有.java就行了、、、然后Win+R - cmd - 回車。打開cmd命令窗口。。。然后加入你那個java文件的文件夾路徑。。(右擊java文件復(fù)制屬性就有了,然后在cmd命令窗口中輸入: cd +路徑 記得cd與路徑間有空格的)要是你的文件時房在C盤的,輸入【C:】回車就OK了,D盤輸入【D:】,以此類推、、然后輸入:javac XXX.java (回車)編譯成功就會產(chǎn)生一個class文件在當(dāng)前目錄。然后再輸入:java XXX (回車)結(jié)果就出來了、、、、我是學(xué)java編程的,不會的可以找我。。純手打。望采納、、、、、、
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、成都網(wǎng)站建設(shè)、和靜網(wǎng)絡(luò)推廣、成都小程序開發(fā)、和靜網(wǎng)絡(luò)營銷、和靜企業(yè)策劃、和靜品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供和靜建站搭建服務(wù),24小時服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com
/**
* 打開打印窗口
* 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();
}
/**
* 打開模態(tài)窗口
* url:鏈接頁面或action動作
* width:打開模態(tài)窗口的寬度
* height:打開模態(tài)窗口的高度
* 注意:打開模態(tài)窗口的頁面中要在head后面加上
* meta http-equiv="Pragma" content="no-cache":禁止模態(tài)窗口緩存
* base target="_self"/:模態(tài)窗口中的表單在本窗口中提交
* a onClick='window.location = "view-source:" + window.location.href'b源文件/b/a 可以查看模態(tài)窗口的源文件
* 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);
}
/**
* 設(shè)置鏈接
* 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";
}
JButton?btn=new?JButton(new?AbstractAction("關(guān)閉并打開")?{??????@Override???public?void?actionPerformed(ActionEvent?e)?{??????oldFrame.dispose();//?關(guān)閉并銷毀,無需銷毀可采用oldFrame.setVisible(false);??????newFrame.setVisible(true);//?打開新窗口???}});
import javax.swing.*;
import java.awt.Rectangle;
import java.awt.event.*;
public class Swing7 extends JFrame implements ActionListener {
JButton jb = new JButton();
public Swing7() {
this.setTitle("Java——");
jb.setText("確定");
jb.setMnemonic('a');
this.add(jb);
this.setBounds(200, 300, 250, 300);
ctionListener就是Swing7實例。
}
public void actionPerformed(ActionEvent e) {// 實現(xiàn)ActionListener接口的actionPerformed接口。
JFrame frame = new JFrame("新窗口");//構(gòu)造一個新的JFrame,作為新窗口。
frame.setBounds(// 讓新窗口與Swing7窗口示例錯開50像素。
new Rectangle(
(int) this.getBounds().getX() + 50,
(int) this.getBounds().getY() + 50,
(int) this.getBounds().getWidth(),
(int) this.getBounds().getHeight()
)
);
JLabel jl = new JLabel();// 注意類名別寫錯了。
frame.getContentPane().add(jl);
jl.setText("這是新窗口");
jl.setVerticalAlignment(JLabel.CENTER);
jl.setHorizontalAlignment(JLabel.CENTER);// 注意方法名別寫錯了。
frame.setVisible(true);
}
public static void main(String args[]) {
Swing7 s = new Swing7();
}
}
首先分析需要的GUI技術(shù)
java中一般使用swing 和awt技術(shù)來實現(xiàn)圖形界面,Swing組件較多,功能比較強大,所以這里使用Swing組件來實現(xiàn)。窗口使用(JFrame),按鈕使用(JButton)。
設(shè)想一個符合題目需求的場景
兩個窗口關(guān)聯(lián)并且跳轉(zhuǎn),最常見的場景就是登陸了。
登陸窗口,輸入用戶名和密碼,如果成功就跳轉(zhuǎn)到主窗口
核心邏輯,跳轉(zhuǎn)窗口的關(guān)鍵代碼
一般可以隱藏本窗口(setVisible(false);),顯示新窗口來實現(xiàn)窗口的跳轉(zhuǎn)。
但是隱藏窗口,會在后面浪費系統(tǒng)資源。
如果不再使用該窗口,應(yīng)該徹底銷毀(dispose();),釋放系統(tǒng)資源
代碼和注釋
LoginFrame 類
import?java.awt.*;
import?java.awt.event.*;
import?javax.swing.*;
//LoginFrame?登陸窗口??功能?實現(xiàn)用戶登陸?,如果成功就跳轉(zhuǎn)
//LoginFrame?繼承于窗口類,?并實現(xiàn)ActionListener接口
public?class?LoginFrame?extends?JFrame?implements?ActionListener?{
//?申明需要的組件
JButton?jb1,?jb2;//按鈕
JTextField?jtf1;//文本框
JPasswordField?jpf1;//密碼框
public?LoginFrame()?{
//?窗口屬性的設(shè)置
setTitle("登陸窗");//?窗口標(biāo)題
setSize(300,?180);//?窗口大小
setLocationRelativeTo(null);//?窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE);//?關(guān)閉窗口則退出虛擬機
setLayout(new?FlowLayout());//?設(shè)置布局流式布局
JPanel?jp?=?new?JPanel(new?GridLayout(4,?1));//?設(shè)置面板為表格布局4行1列
//?第一行
JPanel?jp1?=?new?JPanel();
JLabel?jl1?=?new?JLabel("賬號?");
jtf1?=?new?JTextField(12);
jp1.add(jl1);
jp1.add(jtf1);
jp.add(jp1);
//?第二行
JPanel?jp2?=?new?JPanel();
JLabel?jl2?=?new?JLabel("密碼?");
jpf1?=?new?JPasswordField(12);
jp2.add(jl2);
jp2.add(jpf1);
jp.add(jp2);
//?第三行
JPanel?jp3?=?new?JPanel();
jb1?=?new?JButton("登陸");
jb1.addActionListener(this);//?添加動作響應(yīng)器
jb2?=?new?JButton("重置");
jb2.addActionListener(this);//?添加動作響應(yīng)器
jp3.add(jb1);
jp3.add(jb2);
jp.add(jp3);
//?第四行
JPanel?jp4?=?new?JPanel();
JLabel?jl3?=?new?JLabel("提示:?賬號?admin?密碼?123");
jl3.setForeground(Color.DARK_GRAY);
jp4.add(jl3);
jp.add(jp4);
add(jp);
}
//?動作響應(yīng)
public?void?actionPerformed(ActionEvent?e)?{
String?cmd?=?e.getActionCommand();//?根據(jù)動作命令,來進行分別處理
if?(cmd.equals("登陸"))?{
String?id?=?jtf1.getText();//?取得用戶名
String?key?=?new?String(jpf1.getPassword());//?取得密碼
if?(id.equals("admin")??key.equals("123"))?{//?判斷是否登錄成功
//?如果登錄成功
setVisible(false);//?本窗口隱藏,
new?MainFrame(id).setVisible(true);//?新窗口顯示
dispose();//本窗口銷毀,釋放內(nèi)存資源
}?else?{
//如果登錄失敗??彈出提示
JOptionPane.showMessageDialog(this,?"用戶名或者密碼錯誤.",?"通知",?JOptionPane.ERROR_MESSAGE);
clearText();//清空文本框?密碼框的輸入
}
}?else?if?(cmd.equals("重置"))?{
clearText();
}
}
private?void?clearText()?{//清空文本框,?密碼框的輸入
jtf1.setText("");
jpf1.setText("");
}
//main方法,?程序的入口
public?static?void?main(String[]?args)?{
new?LoginFrame().setVisible(true);//創(chuàng)建登錄窗口,并可見
}
}
MainFrame類
import?java.awt.*;
import?java.awt.event.*;
import?javax.swing.*;
public?class?MainFrame?extends?JFrame?{
public?MainFrame(String?name)?{
setTitle("主窗口");//標(biāo)題
setSize(300,?260);//大小
setLocationRelativeTo(null);//居中
setDefaultCloseOperation(EXIT_ON_CLOSE);
JPanel?jp?=?new?JPanel();
JLabel?jl1?=?new?JLabel("歡迎");
JLabel?jl2?=?new?JLabel(name);
jl2.setForeground(Color.BLUE);//設(shè)置文本顏色
JLabel?jl3?=?new?JLabel("使用系統(tǒng).");
jp.add(jl1);
jp.add(jl2);
jp.add(jl3);
add(jp,?BorderLayout.NORTH);
JTextArea?jta?=?new?JTextArea();
jta.setLineWrap(true);
jta.append("消息提示");
jta.append("?消息!通知~!");
JScrollPane?jsp?=?new?JScrollPane(jta,?JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,?JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
add(jsp);
JPanel?jp2?=?new?JPanel();
JButton?jb?=?new?JButton("退出");
jb.addActionListener(new?ActionListener()?{
public?void?actionPerformed(ActionEvent?e)?{
System.exit(0);//退出
}
});
jp2.add(jb);
add(jp2,BorderLayout.SOUTH);
}
}
運行效果圖