liu10231217 2015-12-09 14:43 采纳率: 33.3%
浏览 1433
已采纳

Java大神睡觉了吗,来帮我看看这个程序可好,输入和输出怎么搞?第一次做图形界面呢

图片说明

package test;
import java.awt.FlowLayout;

import java.awt.GridLayout;

import java.awt.HeadlessException;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.Scanner;

import javax.swing.ButtonGroup;

import javax.swing.JButton;

import javax.swing.JCheckBox;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;
import javax.swing.event.AncestorListener;
public class luyou1 extends JFrame{
JPanel row1 = new JPanel();

JLabel luyoubiao = new JLabel("路由表" , JLabel.CENTER);
JPanel row2 = new JPanel();
JLabel data1 = new JLabel("128.30.33.0" , JLabel.CENTER);
JLabel data2 = new JLabel("255.255.255.128" , JLabel.CENTER);
JLabel data3 = new JLabel("接口0" , JLabel.CENTER);
JLabel data4 = new JLabel("128.30.33.128" , JLabel.CENTER);
JLabel data5 = new JLabel("255.255.255.128" , JLabel.CENTER);
JLabel data6 = new JLabel("接口1" , JLabel.CENTER);
JLabel data7 = new JLabel("128.30.36.0" , JLabel.CENTER);
JLabel data8 = new JLabel("255.255.255.0" , JLabel.CENTER);
JLabel data9 = new JLabel("R2" , JLabel.CENTER);
JPanel row3 = new JPanel();
JLabel shuru = new JLabel("请输入目的地址:" , JLabel.CENTER);
JTextField[] number = new JTextField[4];
JPanel row4 = new JPanel();
JButton chaxun = new JButton("查询");
JLabel jieguo = new JLabel("查询的结果为:" , JLabel.RIGHT);
JTextField[] shuchu= new JTextField[2];
public luyou1() throws HeadlessException{
super("模拟路由器查表");
setSize(700 ,400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

GridLayout gridLayout = new GridLayout(5, 1, 10, 10);

setLayout(gridLayout);
GridLayout gridLayout1 = new GridLayout(1, 7, 10,10);

row1.setLayout(gridLayout1);

row1.add(luyoubiao);
add(row1);

    GridLayout gridLayout2 = new GridLayout(3, 7, 10,10);  
    row2.setLayout(gridLayout2);
    row2.add(data1);
    row2.add(data2);
    row2.add(data3);
    row2.add(data4);
    row2.add(data5);
    row2.add(data6);
    row2.add(data7);
    row2.add(data8);
    row2.add(data9);
    add(row2);

    GridLayout gridLayout3 = new GridLayout(1,7, 10,10);  
    row3.setLayout(gridLayout3);
    row3.add(shuru);
    for (int i = 0; i <4; i++) { 
        number[i] = new JTextField();  
        row3.add(number[i]);  
    }
    add(row3);

    GridLayout gridLayout4 = new GridLayout(1,7, 10,10);  
    row4.setLayout(gridLayout4);
    row4.add(chaxun);

    row4.add(jieguo);
    for (int i = 0; i <2; i++){
   shuchu[i] = new JTextField();
    row4.add(shuchu[i]);
    }
    setVisible(true); 
    add(row4);
}


public void actionPerformed(ActionEvent e){

    int[][] a={{128,30,33,0},{128,30,33,128},{128,30,36,0}}; 
    int[][] b={{255,255,255,128},{255,255,255,128},{255,255,255,0}};
    int[] c={128,30,33,0};
    int[] d={255,255,255,128};
    int i,j; 
    int[] f=new int[7];
    String ch;
   if(e.getSource()==chaxun){
    for(i=0;i<4;i++){
        if((f[i]&d[i])!=c[i]) break;
    }
    if(i==4)
        System.out.println("目的网络地址:128.30.33.0");
    else{
       System.out.println("不是直接交付");
         for(i=0,j=0;j<4;j++){
           if((b[i][j]&f[j])!=a[i][j])   break;
         }
         if(j==4)
           System.out.println("下一跳:接口0");
        else{
            if(j==4)
                 System.out.println("下一跳:接口1");
            else{
                 for(i=1,j=0;j<4;j++){
                  if((b[i][j]&f[j])!=a[i][j])  break;
                   }
               if(j==4)       
                 System.out.println("下一跳:R2");
                 else
                  System.out.println("转发分组出错");
                  }
              }

           }

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

}

  • 写回答

5条回答 默认 最新

  • java_runner 2015-12-10 02:00
    关注

    给查询按钮加Action监听,点击的时候进行你想要的计算,把想要的结果用setText()方法赋给查询结果的两个文本框。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?