⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 001703366a08001c19f0d5298c7864ee

📁 基于linux操作系统
💻
字号:
package deng;

import java.awt.Checkbox;
import java.awt.Frame;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.MouseAdapter;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.ArrayList;

import javax.swing.*;
import javax.swing.plaf.basic.BasicComboBoxUI.ItemHandler;

public class MainWindow {

	/**
	 * @param args
	 */
	JFrame frame;
	FireWallApp fwa;
	JButton jb1;
	JButton addB;
	CheckboxGroup  cbg=new CheckboxGroup();
	  Checkbox chb=new Checkbox("默认",cbg,true);
	  Checkbox chb2=new Checkbox("自定义",cbg,false);
	
	  
	  Checkbox cbx0=new Checkbox("eth0",true);
	  Checkbox cbx1=new Checkbox("eth1"); 
	  
	 int Y1=1; 
	 int Y2=1;
	 
	JPanel panel2=new JPanel();//由于在内部类中要用到故单独将其作为全局变量
	
	
//	public static void main(String ar[])
//	{
//		MainWindow s=new MainWindow(new FireWallApp());
//		
//	}
//	
	public MainWindow(FireWallApp fwa){
		 
		this.fwa=fwa;
		init();
		
	}
	
	public void init(){
		
		//fwa.subFrame.setVisible(false);//让子窗口不可见
	    frame=new JFrame("网络防火墙配置");
		fwa.mainFrame=frame;//赋给所属应用的成员变量
		frame.setBounds(500, 200, 300, 400);
		frame.setResizable(false);
		frame.addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent e){
				System.exit(0);
			}
			
		});//匿名内部类
		
		
		
		frame.setLayout(null);//手动指定各个组件的位置
		  JLabel label=new JLabel();
		  label.setText("请选择设置方式");
		  label.setBounds(10, 10, 100, 20);
		  
		  chb.setBounds(110, 10, 50,20);
		  MyItemListener myListener=new MyItemListener();
		  chb.addItemListener(myListener);
		  
		  chb2.setBounds(170, 10, 50,20);
		  chb2.addItemListener(myListener);
		    
			
//		第一个panel
		JPanel panel=new JPanel(); 
		  panel.setLayout(null);
		  panel.setBounds(0, 0, 300, 30);
		  panel.setBackground(Color.white);
		  panel.add(label);
		  panel.add(chb);
		  panel.add(chb2);
		 
//		第二个panel
		  panel2.setBackground(Color.orange);
		  panel2.setLayout(null);
		  panel2.setBounds(0, 30, 300, 290);
		JLabel label2_1=new JLabel("信任的设备:");
		  label2_1.setBounds(10, 30, 90, 20);
		JLabel label2_2=new JLabel("允许的服务:");
		  label2_2.setBounds(10, 110, 90, 20);
		  addB=new JButton("添加");
		  addB.setBounds(10, 150, 80, 25);
		  addB.addActionListener(new MyActionListener());
		JScrollPane panel2_1=new JScrollPane();
		  panel2_1.setLayout(null);
		  panel2_1.setBounds(100, 20, 190, 50);
		  panel2_1.setBackground(Color.white);
		 
		  cbx0.setBounds(1,Y1,50,15);
		  Y1=Y1+16;
		  cbx1.setBounds(1,Y1,50,15);
		  Y1=Y1+16;
		  panel2_1.add(cbx0);
		  panel2_1.add(cbx1);

		  JScrollPane panel2_2=new JScrollPane();
		  panel2_2.setLayout(null);
		  panel2_2.setBounds(100, 95, 190, 184);
		  
		  panel2_2.setBackground(Color.white);
		  Checkbox cbxf1=new Checkbox("www(HTTP)",true);
		  Checkbox cbxf2=new Checkbox("FTP",true);
		  Checkbox cbxf3=new Checkbox("Telnet",true);
		  Checkbox cbxf4=new Checkbox("SMTP",true);
		  Checkbox cbxf5=new Checkbox("SSH",true);
		  Checkbox cbxf6=new Checkbox("DHCP",true);
		  cbxf1.setBounds(1,Y2,100,15);
		  Y2=Y2+16;
		  cbxf2.setBounds(1,Y2,100,15);
		  Y2=Y2+16;
		  cbxf3.setBounds(1,Y2,100,15);
		  Y2=Y2+16;
		  cbxf4.setBounds(1,Y2,100,15);
		  Y2=Y2+16;
		  cbxf5.setBounds(1,Y2,100,15);
		  Y2=Y2+16;
		  cbxf6.setBounds(1,Y2,100,15);
		  Y2=Y2+16;
		  panel2_2.add(cbxf1);
		  panel2_2.add(cbxf2);
		  panel2_2.add(cbxf3);
		  panel2_2.add(cbxf4);
		  panel2_2.add(cbxf5);
		  panel2_2.add(cbxf6);
		  

		  panel2.add(label2_1);
		  panel2.add(panel2_1);
		  panel2.add(label2_2);
		  panel2.add(panel2_2);
		  panel2.add(addB);
	
		
//		第三个panel		
		JPanel panel3=new JPanel();
		  panel3.setBackground(Color.orange);
		  panel3.setLayout(null);
		  panel3.setBounds(0, 320, 300, 80);
		  //panel3.setBackground(Color.white);
		  //JButton jb1=new JButton("确定");
		  jb1=new JButton("确定");
		  JButton jb0=new JButton("取消");
		   jb0.addActionListener(new ActionListener(){
			   public void  actionPerformed(ActionEvent e){
				  System.exit(0);
				   
			   }
		   });
		  jb1.setBounds(80, 15, 80, 25);
		  jb0.setBounds(180, 15, 80,25);
		  panel3.add(jb1);
		  panel3.add(jb0);
		  
		  
		  frame.getContentPane().add(panel);
		  frame.getContentPane().add(panel2); 
		  frame.getContentPane().add(panel3);  
		  frame.getContentPane().setBackground(Color.orange);
		frame.setVisible(true);
		
		Checkbox cb=cbg.getSelectedCheckbox();
		  if(cb!=null)
		    	if(cb.getLabel().equals("默认"))
		    {
		    		addB.setEnabled(false);
		    		cbx0.setEnabled(false);
		    		cbx1.setEnabled(false);
		    	
		    }else{
		    	addB.setEnabled(true);
		    	cbx0.setEnabled(true);
	    		cbx1.setEnabled(true);
		    }

	}
	
	
	//内部类,单选按钮的监听器
	class MyItemListener implements ItemListener
	{

		public void itemStateChanged(ItemEvent e) {
			
			// TODO Auto-generated method stub
			
		 Checkbox cb=cbg.getSelectedCheckbox();
		 if(cb!=null)
		    	if(cb.getLabel().equals("默认"))
		    {
		    		addB.setEnabled(false);
		    		cbx1.setState(false);
		    		cbx0.setEnabled(false);
		    		cbx1.setEnabled(false);
		    	
		    }else{
		    	addB.setEnabled(true);
		    	cbx0.setEnabled(true);
	    		cbx1.setEnabled(true);
		    }
		    
			
		}
		
	}

	class MyActionListener implements ActionListener{

		public void actionPerformed(ActionEvent arg0) {
			// TODO Auto-generated method stub
			new SubWindow(fwa);//单击“添加”时运行子窗口程序,产生子窗口
			fwa.subFrame.setVisible(true);
		}
		
		
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -