java代碼之間交互 javascript java交互

怎么讓java兩個類之間進(jìn)行交互

HI我..

公司主營業(yè)務(wù):網(wǎng)站制作、成都網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)建站是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出章丘免費(fèi)做網(wǎng)站回饋大家。

通過構(gòu)造方法就可以把那個引用傳過去了。。

如果你是在一個窗口干什么后打開另一個窗口的。。就是說你在一個窗口中打開另一個窗口的。。

TextFrame 類 這里面有個文本框和一個按鈕。。點(diǎn)擊按鈕就打開另一個窗口。。

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

public class TextFrame extends JFrame {

public JTextField jt;

/**

* @param args

*/

public TextFrame() {

JLabel jl = new JLabel("文本框:");

this.jt = new JTextField(15);

JButton jb = new JButton("點(diǎn)擊");

jb.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

new ButtonFrame(TextFrame.this);

}

});

JPanel jp = new JPanel();

jp.add(jl);

jp.add(jt);

jp.add(jb);

this.add(jp);

this.setBounds(100, 100, 100, 100);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

public static void main(String[] args) {

new TextFrame();

}

}

ButtonFrame 類。。這里面有個按鈕。點(diǎn)擊就可以設(shè)置這邊這個文本框的內(nèi)容了。。

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

public class ButtonFrame extends JFrame {

private TextFrame jf;

public ButtonFrame(TextFrame frame) {

this.jf = frame;

JButton jb = new JButton("點(diǎn)擊設(shè)置");

jb.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

String str = JOptionPane.showInputDialog("請輸入", null);

ButtonFrame.this.jf.jt.setText(str);

}

});

JPanel jp = new JPanel();

jp.add(jb);

this.add(jp);

this.setBounds(250, 250, 100, 100);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

}

如果兩個類都是單獨(dú)運(yùn)行的。。沒有任何關(guān)系的話(即不是在一個窗口中點(diǎn)擊上面東西或是干什么就打開另一個窗口)。。都是獨(dú)立運(yùn)行的。。

那就需要用到socket了哦。。

下面兩個類你都單獨(dú)運(yùn)行就是了哈。。

服務(wù)器端:SocketManager類。這里面有個文本框。。

import java.io.DataInputStream;

import java.io.DataOutputStream;

import java.io.IOException;

import java.net.ServerSocket;

import java.net.Socket;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

public class SocketManager extends JFrame {

/**

* @param args

* @throws IOException

*/

private JTextField jt;

public static void main(String[] args) {

SocketManager manager = new SocketManager();

manager.doListen();

}

public SocketManager() {

JLabel jl = new JLabel("文本框:");

this.jt = new JTextField(15);

JPanel jp = new JPanel();

jp.add(jl);

jp.add(jt);

this.add(jp);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

public void doListen() {

ServerSocket server;

try {

server = new ServerSocket(9991);

while (true) {

Socket client = server.accept();

new Thread(new SSocket(client)).start();

}

} catch (IOException e) {

e.printStackTrace();

}

}

// 服務(wù)器進(jìn)程

class SSocket implements Runnable {

Socket client;

public SSocket(Socket client) {

this.client = client;

}

public void run() {

DataInputStream input;

while (true) {

try {

input = new DataInputStream(client.getInputStream());

try {

String listMsg = input.readUTF();

SocketManager.this.jt.setText(listMsg);

} catch(Exception e) {

break;

}

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

}

客戶端:Client類 有個按鈕。。點(diǎn)擊彈出輸入框輸入內(nèi)容。。服務(wù)器的文本框就顯示你輸入的內(nèi)容

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.DataOutputStream;

import java.io.IOException;

import java.io.OutputStream;

import java.net.Socket;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

public class Client extends JFrame {

private static Socket socket;

OutputStream netOut;

DataOutputStream doc;

public Client() {

try {

socket = new Socket("127.0.0.1", 9991);

this.netOut = socket.getOutputStream();

this.doc = new DataOutputStream(netOut);

} catch(Exception e) {

e.printStackTrace();

}

JButton jb = new JButton("點(diǎn)擊設(shè)置");

jb.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

String str = JOptionPane.showInputDialog("請輸入", null);

try {

doc.writeUTF(str);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

});

JPanel jp = new JPanel();

jp.add(jb);

this.add(jp);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

public static void main(String[] args) {

new Client();

}

}

Java項目怎樣讓另一個類中的代碼跟這個類里面的代碼一起執(zhí)行

1、在Java項目中新建一個類。然后在調(diào)用類中先進(jìn)行被調(diào)用類實(shí)例化,然后通過實(shí)例化的對象訪問。

2、在Java項目中新建一個類,將該類中需要被調(diào)用的方法設(shè)置為靜態(tài)(static),加了static后,就可以用類名直接調(diào)用。然后在調(diào)用類中直接通過類名進(jìn)行訪問。3、這樣就可以讓Java項目另一個類中的代碼跟這個類里面的代碼一起執(zhí)行了。

spring 中如何實(shí)現(xiàn)jsp與java的交互

spring中利用mvc框架就可以實(shí)現(xiàn)jsp和java交互了。

以下用spring mvc輸出hello world為例來說明:

一、項目依賴的jar包:

1.Spring框架依賴的jar包:

日志:commons-logging-1.1.3.jar;

JSTL支持:jakarta-taglibs-standard-1.1.2中的jstl.jar和standard.jar;

2.Spring的jar包:

spring-framework-3.2.5.RELEASE/libs中的jar包(這里為了方便我直接把全部都復(fù)制過去了);

把以上的jar包全部復(fù)制到項目的WebContent/WEB-INF/lib目錄中。

二、在/WEB-INF中添加web.xml文件,文件內(nèi)容如下:

?xml version="1.0" encoding="UTF-8"?

web-app xmlns:xsi="" xmlns="" xmlns:web="" xsi:schemaLocation=" " id="WebApp_ID" version="3.0"

display-nameSpringMVCLesson/display-name

? ?

servlet

? ?servlet-nameSpringMVCLesson/servlet-name

? ?servlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-class

? ?init-param

? ? ? ?param-namecontextConfigLocation/param-name

? ? ? ?param-valueclasspath:springservlet-config.xml/param-value

? ?/init-param

? ?load-on-startup1/load-on-startup!-- load-on-startup必須放在最后 --

/servlet

!-- Spring MVC配置文件結(jié)束 --

servlet-mapping

? ?servlet-nameSpringMVCLesson/servlet-name

? ?url-pattern//url-pattern

/servlet-mapping

/web-app

三、springservlet-config.xml文件配置:

在項目中新建一個resources的Source Folder文件夾,并添加springservlet-config.xml文件。

?xml version="1.0" encoding="UTF-8"?

beans xmlns=""

xmlns:xsi=""

xmlns:p=""

xmlns:context=""

xmlns:util=""

xmlns:mvc=""

xsi:schemaLocation="

"

!-- 默認(rèn)的注解映射的支持 -- ?

mvc:annotation-driven/

?

!-- 如果當(dāng)前請求為“/”時,則轉(zhuǎn)發(fā)到“/helloworld/index” --

mvc:view-controller path="/" view-name="forward:/helloworld/index"/

!-- 靜態(tài)資源映射 --

mvc:resources mapping="/js/**" location="/WEB-INF/js/" /

mvc:resources mapping="/css/**" location="/WEB-INF/css/" /

mvc:resources mapping="/fonts/**" location="/WEB-INF/fonts/" /

mvc:resources mapping="/plugins/**" location="/WEB-INF/plugins/" /

mvc:resources mapping="images/**" location="/WEB-INF/images/" /

!-- 當(dāng)上面要訪問的靜態(tài)資源不包括在上面的配置中時,則根據(jù)此配置來訪問 --

mvc:default-servlet-handler/

!-- 開啟controller注解支持 --

!-- use-default-filters="false" 只掃描指定的注解 --

context:component-scan base-package="com.demo.web.controllers" use-default-filters="false"

? ?context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/

/context:component-scan

?

!-- 視圖解析器 --

bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"

? property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/

? property name="contentType" value="text/html"/ ? ? ? ?

? property name="prefix" value="/WEB-INF/views/"/

? property name="suffix" value=".jsp"/

/bean

/beans

mvc:annotation-driven/?開啟注解映射支持,它是為了簡化配置的縮寫形式,它相當(dāng)于以下2個配置:

bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/

bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/

由于我們在web.xml文件里面配置的是攔截所有的請求到該servlet,所以我們在這里要對靜態(tài)資源文件映射作一下配置,否則請求這些資源文件會返回404:

!-- 靜態(tài)資源映射 --

mvc:resources mapping="/js/**" location="/WEB-INF/js/" /

mvc:resources mapping="/css/**" location="/WEB-INF/css/" /

mvc:resources mapping="/fonts/**" location="/WEB-INF/fonts/" /

mvc:resources mapping="/plugins/**" location="/WEB-INF/plugins/" /

mvc:resources mapping="images/**" location="/WEB-INF/images/" /

!-- 當(dāng)上面要訪問的靜態(tài)資源不包括在上面的配置中時,則根據(jù)此配置來訪問 --

mvc:default-servlet-handler/

開啟Controller注解支持,并配置只掃描指定包下面的Controller:

context:component-scan base-package="com.demo.web.controllers" use-default-filters="false"

context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/

/context:component-scan

配置視圖解析器,并指定視圖所在的文件夾:

bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"

property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/

property name="contentType" value="text/html"/ ? ? ? ?

property name="prefix" value="/WEB-INF/views/"/

property name="suffix" value=".jsp"/

/bean

添加HelloWorldController,在項目中新建一個web的Source Folder文件夾,并在文件夾下面添加com.demo.web.controllers包,在包中添加一個HelloWorldController類,類中內(nèi)容如下:

package com.demo.web.controllers;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.servlet.ModelAndView;

@Controller

@RequestMapping(value = "/helloworld")

public class HelloWorldController {

@RequestMapping(value="/index", method = {RequestMethod.GET})

public ModelAndView index(){

? ?

? ?ModelAndView modelAndView = new ModelAndView(); ?

? ?modelAndView.addObject("message", "Hello World!"); ?

? ?modelAndView.setViewName("index"); ?

? ?return modelAndView;

}

}

其中@Controller 注解把該class指定為controller,controller 上的@RequestMapping 注解的 value值指定該controller所映射的請求。

方法上的@RequestMapping 注解指定該方法為一個action,value 值指定該action所映射的請求,method 中的RequestMethod.GET指定該action只接受get請求。

ModelAndView 中的setViewName指定了該action所對應(yīng)的視圖名稱,解析視圖時會在springservlet-config.xml文件指定的視圖文件夾中尋找對應(yīng)的視圖。

添加視圖,在項目/WEB-INF文件夾下新建一個views文件夾,并在views中添加index.jsp視圖,視圖內(nèi)容如下:

%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%

!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ""

html

head

meta http-equiv="Content-Type" content="text/html; charset=UTF-8"

titleInsert title here/title

/head

body

${message}

/body

/html

運(yùn)行項目輸出結(jié)果:

貪吃蛇java代碼具有交互功能嗎

有。貪吃蛇自行編輯java代碼使其具有交互功能是可以的。實(shí)現(xiàn)貪吃蛇游戲基本功能,屏幕上隨機(jī)出現(xiàn)一個“食物”,稱為豆子。玩家能利用上下左右鍵控制“蛇”的移動,“蛇”吃到“豆子”后“蛇”身體加長一節(jié),得分增加,“蛇”碰到邊界或蛇頭與蛇身相撞,“蛇”死亡,游戲結(jié)束。

名稱欄目:java代碼之間交互 javascript java交互
分享URL:http://www.muchs.cn/article40/dogipeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃自適應(yīng)網(wǎng)站、搜索引擎優(yōu)化商城網(wǎng)站、企業(yè)網(wǎng)站制作營銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名