十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
利用java的管道重定义。核心代码如下,剩下自己组织
成都创新互联公司主要从事网站建设、网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务奇台,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220
Process process = Runtime.getRuntime().exec("cmd");
PrintWriter out = new PrintWriter(process.getOutputStream());
String cmd ; //你的cmd命令
InputStream is = process.getInputStream() //cmd返回出来的信息
out.println(cmd); //输入你的命令
out.flush(); //写到控制台
jframe.setVisible(true) 即可让窗口可见.
API里关于该方法的说明
public void setVisible(boolean b)
根据参数 b 的值显示或隐藏此 Window。
窗口的其他常用属性的设置,详细见下面的例子
示例图
参考代码和详细的注释
import java.awt.Color;
import java.awt.Font;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class MyFrame extends JFrame {
//构造函数
public MyFrame() {
JLabel jl = new JLabel("床前明月光,疑是地上霜。",JLabel.CENTER);//文字标签,文字居中
jl.setForeground(Color.BLUE);//文字的颜色
jl.setFont(new Font("仿宋", Font.BOLD, 20));//设置文字,字体
add(jl);//把文字添加到窗口
//getContentPane().setBackground(Color.WHITE); //设置窗口(内容面板)的背景颜色
setTitle("窗口示例");// 窗口标题
setSize(300, 200);// 窗口大小 宽300 高200
setLocationRelativeTo(null);// 窗口居中
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 当窗口关闭时,程序结束
}
//main函数
public static void main(String[] args) {
MyFrame frame = new MyFrame();// 创建窗口
frame.setVisible(true);// 让该窗口实例可见
}
}
tcp或者udp设置为全局的,不要定义在某一个窗体里面,当udp读取线程接受到数据后,就直接new这个窗体,把消息带过去,比如new ChatFrame(String msg).show();就行了。
一般来说有两种常见的方法,根据需要任选一种就可以了。
1、在login.java里面,你要启动a.java的窗口,肯定会new一个a的对象,你可以在a里面定义几个成员变量,例如
1
2
3
4
5
6
public class a{
public String user_name=null;
public a(){
}
}
然后在new一个a对象以后直接把这个成员变量赋值,就可以了,例如在login.java里面
1
2
a form_a=new a();
a.user_name="用户名";
这样在a的代码里面就可以尽情使用了。如果要更加规范一些,就不要使用public声明,而把user_name设置为private变量,然后写两个方法 getUsername()和setUsername(Stirng username)来操作它。
2、在login.java或者a.java里面定义静态变量,即static变量,例如这样:
1
2
3
4
5
6
public class a{
public static String user_name=null;
public a(){
}
}
这样定义的变量,不需要类实例化成为对象就可以使用,不过全局只有一个,在某些时候非常适合,例如这里的保存用户名,但是当变量为对象相关的时候是不适合的。
在login.java里面这样使用:
1
a.user_name="用户名";
然后再加上你弹出a.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);
}
}