📄 001703366a08001c19f0d5298c7864ee
字号:
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 + -