当前位置: 首页 > news >正文

网站建设了解海南有线微信公众号

网站建设了解,海南有线微信公众号,上海百度推广代理商,seo诊断大夫swing组件允许编程人员在跨平台时指定统一的外观和风格。 Swing组件通常被称为轻量级组件#xff0c; JFrame在程序中的语法格式#xff1a; JFrame jfnew JFrame(title); Container containerjf.getContentPane(); jf:JFrame类的对象 container:Container类的对象。 J…swing组件允许编程人员在跨平台时指定统一的外观和风格。 Swing组件通常被称为轻量级组件 JFrame在程序中的语法格式 JFrame jfnew JFrame(title); Container containerjf.getContentPane(); jf:JFrame类的对象 container:Container类的对象。 JFrame类的常用构造方法包括以下两种形式 public JFrame()  创建一个初始不可见、没有标题的新窗体 public JFrame(String title) 在实例化该Frame对象时可以创建一个不可见但具有标题的窗体。 setVisible(true) 方法使窗体可见 setDefaultCloseOperation()方法关闭窗体。 DO_NOTHING_ON_CLOSE 什么都不做就将窗体关闭 DISPOSE_ON_CLOSE 代表任何注册监听程序对象后会自动隐藏并释放窗体 HIDE_ON_CLOSE 隐藏窗口的默认关闭 EXIT_ON_CLOSE 退出应用程序默认窗口关闭 JDialog窗体 JDialog窗体是Swing组件中的对话框它继承了AWT组件中的Java.awt.Dialog类。 其功能是从一个窗体中弹出另一个窗体在使用时也使用调用getContentPane()方法将窗体转换为容器然后在容器中设置窗体的特性。 public JDialog() 创建一个没有标题和父窗体的对话框。 public JDialog(Frame f) : 创建一个指定父窗体的对话框但该窗体没有标题。 public JDialog(Frame f, boolean model): 创建一个指定类型的对话框并指定父窗体但该窗体没有指定标题。 public JDialog(Frame f,boolean model): 创建一个指定类型的对话框并指定父窗体但该窗体没有指定标题。 public JDialog(Frame f,String title,boolean model):创建一个指定标题、窗体和模式的对话框。 JFrame类中的两种构造方法分别为无参的构造方法和有参的构造方法。 第一种形式的构造方法可以创建一个初始不可见、没有标题的新窗体第二种形式的构造方法在实例化该JFrame对象时可以创建一个不可见但具有标题的窗体。 package Procedures;import javax.swing.*; import java.awt.*;public class Example1 extends JFrame{public void CreateJFrame(String title){JFrame jfnew JFrame(title); //实例化一个JFrame对象Container container jf.getContentPane(); //获取一个容器JLabel jlnew JLabel(这是一个JFrame窗体); //创建一个JLable标签jl.setHorizontalAlignment(SwingConstants.CENTER); //使标签上的文字居中container.add(jl); //将标签添加到容器中container.setBackground(Color.white); //设置容器的背景颜色jf.setVisible(true); //使窗体可视jf.setSize(200,150); //设置窗体大小jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); //设置窗体关闭方式}public static void main(String args[]){ //在主方法中调用CreateJFrame()方法new Example1().CreateJFrame(创建一个JFrame窗体);}} setSize(int x,int y)方法设置窗体大小其中x,y代表窗体的宽与高。 创建窗体后给予窗体一个关闭方式可以调用setDefaultCloseOperation()方法。Java常用窗体关闭方法有以下4种。 DO_NOTHING_ON_CLOSE  代表什么都不做就将窗体关闭 DISPOSE_ON_CLOSE  任何注册监听程序对象后会自动隐藏并释放窗体 HIDE_ON_CLOSE  EXIT_ON_CLOSE 隐藏窗口的默认窗口关闭 EXIT_ON_CLOSE 退出应用程序默认窗口关闭 JDialog窗体 JDialog窗体是Swing组件中的对话框他继承了AWT组件中的java.awt.Dialog类 JDialog窗体的功能是从一个窗体中弹出另一个窗体它与JFrame窗体类似在使用时也需要调用getContentPane()方法将窗体转换为容器然后在容器中设置窗体的特性。 public JDialog(): 创建一个没有标题和父窗体的对话框。 public JDialog(Frame f):创建一个指定父窗体的对话框但该窗体没有标题。 public JDialog(Frame f,boolean model):创建一个指定类型的对话框并指定父窗体但该窗体没有指定标题。 public JDialog(Frame f,String title):创建一个指定标题和父窗体的对话框。 public JDialog(Frame f,String title,boolean model):创建一个指定标题、窗体和模式的对话框 标签组件与图标 在Swing中显示文本或提示信息的方法是使用标签,它支持文本字符串和图标。在应用程序的用户界面中一个简短的文本标签可以使用户知道这些组件的目的所以标签在Swing中是比较常用的组件。 标签的使用 标签由JLable类定义它的父类为JComponent类。 标签可以显示一行只读文本、一个图像或带图像的文本它并不能产生任何类型的事件只是简单的显示文本和图片但是可以使用标签的特性指定标签上文本的对其方式。 JLabel类提供了多种构造方法可以创建多种标签如显示只有文本的标签、只有图标的标签或包含文本与图标的标签。JLabel类常用的几个构造方法如下。 public JLabel(): 创建一个不带图标和文本的JLabel对象。 public JLabel(Icon icon): 创建一个带图标的JLabel对象。 public JLabel(Icon icon,int aligment): 创建一个带图标的JLabel对象并设置图标水平对齐方式。 public JLabel(String text,int aligment): 创建一个带文本的JLabel对象并设置文字水平对齐方式。 public JLabel(String text,Icon icon,int aligment): 创建一个带文本、带图标的JLabel对象并设置标签内容的水平对齐方式。 图标的使用 Swing中的图标可以放置在按钮、标签等组件上,用于描述组件的用途。图标可以用Java支持的图片文件类型进行创建也可以使用java.awt.Graphics类提供的功能方法来创建。 创建图表 在Swing中通过Icon接口来创建图标可以在创建时给定图标的大小、颜色等特性。如果使用Icon接口必须实现Icon接口中的3个方法 public int  getIconHeight() public int getIconWidth() public void paintIcon(Component arg0,Graphics arg1,int arg2,int arg3) getIconHeigth()与getIconWidth()方法用于获取图标的长与宽,paintIcon()方法用于实现在指定坐标位置画图。 public ImageIcon(): 该构造方法构建一个通用的ImageIcon对象当真正需要设置图片时再使用ImageIcon对象调用setImageImage image)方法来操作。 public ImageIcon(Image image,String description): 除了可以从图片源创建图标之外还可以为这个图标添加简短的描述但这个描述不会在图标上显示可以使用getDescripion()这个方法获取这个描述。 public ImageIcon(URL url):该构造方法利用位于计算机网络上的图像创建图标 常用布局管理器 布局管理器提供了Swing组件安排、展示在容器中的方法及基本的布局功能。 Swing提供的常用布局管理器包括流布局管理器、边界布局管理器和网格布局管理器。 绝对布局 在Swing中除了使用布局管理器外还可以使用绝对布局。绝对布局就是硬性指定组件在容器中的位置和大小可以使用绝对坐标的方式来指定组件的位置。 使用绝对布局的步骤如下 1.使用Container.setLayout(null)方法取消布局管理器。 2.使用Component.setBounds()方法设置每一个组件的大小与位置。 流布局管理器 流布局管理器是最基本的布局管理器在整个容器中的布局正如其名像流水一样从左到右摆放组件直到占据这一行的所有空间。然后再向下移动一行组件默认居中排列。 FlowLayout类中具有以下常用的构造方法 public FlowLayout() public FlowLayout(int alignment) public FlowLayout(int aligment,int horizGap,int vertGrap) alignment参数表示流布局管理器后组件在每一行的具体摆放位置。 FlowLayout.LEFT0   行组件左对齐排列 FlowLayout.CENTER1;  FlowLayout.RIGHT2; 行组件被指定为右对齐排列 horizFGap与vertGap两个参数分别以像素为单位指定组件之间的水平间隔与垂直间隔。 边界布局管理器 在默认不指定窗体布局的情况下Swing组件的布局模式是边界布局管理器。 边界布局管理器的功能不止如此边界布局管理器还可以将容器划分为东、南、西、北、中5个区域可以将组件加入到者5个区域中。 import java.awt.BorderLayout; import java.awt.Container;import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.WindowConstants;public class BorderLayoutPosition extends JFrame {//定义组件摆放位置的数组String[] border {BorderLayout.CENTER,BorderLayout.NORTH,BorderLayout.SOUTH,BorderLayout.WEST,BorderLayout.EAST};String[] buttonName {center button,north button,south button,west button,east button};public BorderLayoutPosition() {setTitle(这个窗体使用边界布局管理器);Container cgetContentPane(); //定义一个容器setLayout(new BorderLayout()); //设置容器为容器为边界布局管理器for(int i0;iborder.length;i) {//在容器中添加按钮,设置按钮布局c.add(border[i],new JButton(buttonName[i]));}setSize(350,200); //设置窗体大小setVisible(true); //设置窗体可见//设置窗体关闭方式setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);}public static void main(String[] args) {new BorderLayoutPosition();}} add()方法提供在容器中添加组件的功能并同时设置组建的摆放位置。 网格布局管理器 网络布局管理器将容器划分为网格所以组件可以按行和列进行排列。 在网格布局管理器中每一个组件的大小都相同并且网格中空格的个数由网格的行数和列数决定。 组件从网格的左上角开始按照从左到右、从上到下的顺序加入到网格中而且每一个组件都会填满整个网格改变窗体的大小组件的大小也会改变。 网格布局管理器主要有以下两个常用的构造方法 public GridLayout(int rows,int columns) public GridLayout(int rows,int columns,int horizGap,int vertGap) rows与columns参数代表网格的行数与列数这两个参数只有一个参数可以为0代表一行或一列可以排列任意多个组件参数horizGap与vertGap指定网格之间的距离其中horizGap参数指定网格之间的水平距离,vertGap参数指定网络之间的垂直距离。 网格组布局管理器 由GridBagLayout类实现的布局管理器称为网格组布局管理器 它实现了一个动态的矩形网格可以根据实际需要随意增减矩形网格的行数和列数。 向GridBagLyout类管理的容器中添加组件时需要为每个组件创建一个与之关联的GridBagConstants类的对象通过该类的属性可以设置组件的布局信息。  通过GridBagLayout类实现的矩形网格的绘制方向由容器决定。 如果容器的方向是从左到右则位于矩形网格左上角的单元格的列索引为0此时组件左上角的点为起始点如果容器的方向是从右到左则位于矩形网格右上角的单元格的列索引为0此时组件右上角的点为起始点。 详细讲解GridBagLayout类中各个属性的功能和使用方法以及在使用过程中需要注意的一些事项。 1.grid和gridy属性 这两个属性用来设置组件起始点所在单元格的索引值。需要注意的是属性gridx设置的是x轴所以它表示的是组件起始点所在列的索引;属性gridy设置的是Y轴的索引值所以它表示的是组件起始点所在行的索引。      gridwidth和gridheight属性 这两个属性用来设置组件占用网格组的行数和列数。属性gridwidth为组件占用网格组的列数也可以理解为以单元格为单位组件的宽度属性gridheight为组件占用网格组的行数也可以理解为以单元格为单位组件的高度。 anchor属性 属性anchor用来设置组件在其所在显示区域的显示位置。通常将显示区域从方向上划分为9个方位。 fill属性 属性fill用来设置组件的填充方式。当单元格显示区域的面积大于组件面积或者开一个组件占用多个单元格时显示组件可能不必占用所有显示区域在这种情况下可以通过fill属性设置组件的填充方式。可以利用4个静态常量设置该属性默认情况下是将该属性设置为静态常量NONE,既不调整组件大小至填满显示区域如果该属性设置为静态常量HORIZONTAL,表示只调整组件水平方向的大小组件宽度至填满显示区域如果将该属性设置为静态常量VERTICAL,表示只调整组件垂直方向的大小组件高度至填满显示区域如果将该属性设置为静态常量BOTH,则表示同时调整组件的宽度和高度至填满显示区域。 inserts属性 属性insets用来设置组件四周与单元格边缘之间的最小距离。该属性的类型为Insets.Insets类仅有一个构造方法Insets(int top,int left,int bottom,int right),它的4个入口参数以此为组件上方、左侧、下方和右侧的最小距离单位为像素。    ipadx和ipady属性 这两个属性用来修改组件的首选大小属性ipadx用来修改组建的宽度属性ipady用来修改组件的高度如果为正数则在首选大小的基础上增加指定的宽度和高度如果为负数则在首选大小的基础上减小指定的宽度和高度。  weightx和weighty属性 这两个属性用来设置网格组的每一行和每一列对额外空间的分布方式。在不设置属性weightx和weighty的情况下当窗体调整到足够大时组件全部聚集在窗体的中央在组件四周出现了大片的额外空间为了避免可以通过这两个属性设置网格组的每行每列对额外空间的分布方式。如果在该行中设置了多个weighty属性则取它们的最大值为该行的分布方式。 在设置网格组的每一行和每一列对额外空间的分布方式时建议只设置第一行的weightx属性和第一列的weighty属性这样会方便前期调试和后期维护。 网格组的行和列对额外空间的分布方式完全相同下面以网格组的行为为例详细讲解对额外空间的分布方式。网格组布局管理器首先计算出每一行的分布方式即获取每一行的weighty属性的最大值然后计算每个最大值占所有最大值总和的百分比最后将额外空间的相应百分比分配给对应行。 在设置网格组的每一行和每一列对额外空间的分布方式时建议为各个属性按百分比取值。 常用面板 面板也是一个Swing容器它可以作为容器容纳其他组件但它也必须被添加到其他容器中。Swing中常用的面板包括JPanel面板以及JScrollPane面板。 JPanel面板 JPanel面板可以聚集一些组件来布局。面板也是一种容器因为它继承自java.awt.Container类。 JScrollPane面板 在设置面板时可能会遇到在一个较小的容器窗体中显示一个较大部分的内容的情况这时可以使用JScrllPane面板。此面板是带滚动条的面板它也是一种容器但是只能放置一个组件并且不可以使用布局管理器。如果需要在JScrollPane面板中放置多个组件需要将多个组件放置在JPanel面板上然后将JPanel面板作为一个整体组件添加在JScrollPane组件上。 按钮组件 按钮在Swing组件中是较为常见的组件用于触发特定动作。Swing中提供多种按钮包括提交按钮、复选框、单选按钮等这些按钮都是从AbstarctButon类中继承而来的。 提交按钮组件 Swing中的提交按钮(JButton)由JButton对象表示其构造方法主要有以下几种方式 public JButton()  //可以生成不带任何文本组件的对象和图标能在以后使用相应方法为按钮设置指定的文本和图标 public JButton(String text)  public JButton(Icon icon) public JButton(String text,Icon icon) 通过使用上述构造方法在Swing按钮上不仅能显示文本标签还可以显示图标。 单选按钮组件 单选按钮(JRadioButton)显示一个圆形图标并且在该图标旁放置一些说明性文字而在应用程序中一般将多个单选按钮放置在按钮组中使这些单选按钮表现出某种功能当用户选中某个单选按钮后按钮中其他按钮将被自动取消。控制按钮的诸多方法都是从AbstractButton类中的方法 1.单选按钮 可以使用JRadioButton类中的构造方法创建单选按钮对象。常用构造方法如下 public JRadioButton().。 public JRadioButton(Icon icon)。 public JRadioButton(Icon icon,boolean selected)。 public JRadioButton(String text)。 public JRadioButton(String text,Icon icon)。 public JRadioButton(String text,Icon icon,boolean selected)。 在初始化单选按钮时,可以同时设置单选按钮的图标、文字以及默认是否被选中等属性。 按钮组 在Swing中存在一个ButtonGroup类用于产生按钮组如果希望将所有的单选按钮放置在按钮组中需要实例化一个JRadioButton对象并使用该对象调用add()方法添加单选按钮。 JRadioButton jr1new JRadioButton(); JRadioButton jr2new JRadioButton(); JRadioBUtton jr3new JRadioButton(); ButtonGroup groupnew ButtonGroup(); group.add(jr1); group.add(jr2); group.add(jr2); group.add(jr3); 复选框组件 复选框在Swing组件中的使用也非常广泛它具有一个方块图标外加一段描述性文字。与单选按钮唯一不同的是复选框可以进行多选设置每一个复选框都提供选中与不选中两种状态。 复选框用JCheckBox类对象表示 JcheckBox的常用构造方法如下 public JCheckBox() public JCheckBox(Icon icon,boolean checked) public JCheckBox(String text,boolean checked) 列表组件 Swing中提供两种列表组件分别为下拉列表框与列表框。下拉列表框与列表框都是带有一系列的项目的组件用户可以从中选择需要的项目。列表框较下拉列表框更直观他将所有的项目罗列在列表框中但下拉列表框较列表框更为便捷、美观他将所有的项目隐藏起来当用户选用其中的项目时才显现出来。 下拉列表框组件 JComboBox类 Swing中的下拉列表框不仅可以供用户从中选择项目也提供编辑项目中内容的功能。 下拉列表框是一个带条状的显示区它具有下拉功能。在下拉列表框的右方存在一个倒三角形的按钮当用户单击该按钮时下拉列表框中的项目将会以列表形式显示出来。 Swing中的下拉列表框使用JComboBox类对象来表示它是javax.swing.JComponent类的子类。它的常用构造方法如下 public JComboBox() public JComboBox(ComboBoxModeldataModel) public JComboBox(Object[] arrayData) public JComboBox(Vector vector) 在初始化下拉列表框时可以选择同时下拉列表框中的项目内容也可以在程序中使用其他方法设置下拉列表框中的内容。 JComboBox模型 在开发程序中一般将下拉列表框中的项目封装为ComboBoxModel的情况比较多。ComboBoxModel为接口它代表一般模型可以自定义一个类实现该接口然后再初始化JComboBoxModel接口类型但是必须实现以下两种方法 public void setSelectedItem(Object item) public ObjectgetSelectedItem() 其中setSelectedItem()方法用于设置下拉列标框中的选中项getSelectedItem()方法用于返回下拉列表框中的选中项。 getSize():返回列表的长度 getElementAt(int index):返回指定索引处的值 列表框组件 列表框与下拉列表框的区别不仅表现在外观上当激活下拉列表框时还会出现下拉列表框中的内容但列表框只是在窗体上占据固定的大小如果需要列表框具有滚动效果可以将列表框放入滚动面板中。 Swing中使用JList类对象来表示列表框下面列举几个常用的构造方法。 public void JList() public void JList(Object[] listData) public void JList(Vector listData) public void JList(ListModel dataModel) 存在一个没有此参数的构造方法可以通过在初始化列表框后使用setListData()方法对列表框进行设置。设置的方式由3种类型包括数组、Vector类型和ListModel没模型。 当使用数组作为构造方法的参数时首先需要创建列表项目的数组然后再利用构造方法来初始化列表框。 使用数组作为初始化列表框的参数 String contents{列表1“,列表2“,列表3”,列表4“} JList jlnew JList(contents); 使用Vector类型数据作为初始化列表框的参数 Vector contentsnew Vector(); JList jlnew JList(contents); JList jlnew JList(contents); contents.add(列表1”); contents.add(列表2); 使用ListModel模型为参数需要创建ListModel对象。ListModel是Swing包中的一个接口它提供了获取列表框属性的方法。通常情况下为了使用户不完全实现ListModel接口中的方法通常先自定义一个类继承实现该接口的抽象类AbstractListModel。在这个类中提供了getElementAt()与getSize()方法其中getElementAt()方法代表根据项目的索引获取列表框中的值而getSize()方法用于获取列表框中的项目个数。 public class JListTest extends JFrame {public JListTest() {Container cpgetContentPane();cp.setLayout(null);JListString jlnew JList(new MyListModel()); //JDK7新特性JScrollPane jsnew JScrollPane(jl);js.setBounds(10,10,100,100);cp.add(js);setTitle(在这个窗体中使用了列表框);setSize(200,150);setVisible(true);setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);}public static void main(String[] args) {JListTest anew JListTest();} } class MyListModel extends AbstractListModelString{private static final long serialVersionUID1L;private String[] contents {列表1,列表2,列表3,列表4,列表5,列表6};public String getElementAt(int x) {if(xcontents.length) {return contents[x];}elsereturn null;}public int getSize() {return contents.length;} } 使用DefaultListModel类创建列表框该类扩展了AbstractListModel类也可以通过DefaultListModel对象向上转型为ListModel接口初始化列表框同时DefaultListMoel类提供了addElement()方法实现将内容添加到列表框中。 使用DefaultListModel类创建列表框 final String[] flavors{列表1,列表2,列表3,列表4,列表5,列表6}; fianl DefaultListModel iItemsnew DefaultListModel(); final JList Istnew JList(Items); //实例化JList对象 for(int i0;i4;i){iltems.addElement(flavors[i]); //为模型增加内容 } 文本组件 文本组件在实际项目中使用最为广泛尤其是文本框与密码框组件。通过文本组件可以很轻松的处理单行文字、多行文字、口令字段。 文本框组件 文本框用来显示或编辑一个单行文本在Swing中通过java.swing.JTextField类对象创建该类继承了javax.swing.text.JTextComponent类下面列举了一些创建文本框常用的构造方法。 public JTextField() public JTextField(String text) public JTextField(int fieldeidth) public JTextField(String text,int fieldwidth) public JTextField(Document docModel,String text,int fieldWidth) 通过在初始化文本框时设置文本框的默认文字、文本框的长度。 密码框组件 密码框与文本框的定义与用法基本相同唯一不同的是密码框将用户输入的字符串以某种符号进行加密密码框对象是通过javax.swing.JPasswordField类来创建的JPasswordField类的构造方法与JTextField类的构造方法非常相似。 public JPasswordField() public JPasswordField(String text) public JPasswordField(int fieldwidth) public JPasswordField(String text,int fieldwidth) public JPasswordField(Document docModel,String text,int fieldWidth) 在程序中定义密码框JPasswordField jpnew JPasswordField(); jp.setEchoChar(#); //设置回显字符 文本域组件 Swing中任何一个文本区域都是JTextArea类型的对象。JTextArea常用的构造方法如下 public JTextArea() public JTexArea(String text) public JTextArea(int rows,int columns) public JTextArea(Document doc) public JTextArea(Document doc,String Text,int rows,int columns) 上述构造方法可以在初始化文本域时提供默认文本以及文本域的长与宽      JTextArea类中存在一个setLineWrap()方法该方法用于设置文本域是否可以自动换行。如果将该方法的参数设置为true,文本域将自动换行否则不自动换行。 常用事件监听器 监听事件简介 在Swing事件模型中由3个分离的对象完成对事件的处理分别为事件源、事件以及监听程序。事件源触发一个事件它被一个或多个“监听器接收监听器负责处理事件。 所谓事件监听器实质上就是一个”实现特定类型监听器接口的类对象。事件几乎都以对象来表示,它是某种事件类的对象事件源(如按钮)会在用户做出相应的动作(如按钮被按下时产生事件对象如动作事件对应ActionEvent类对象同时要编写一个监听器的类必须实现相应的接口如ActionEvent类对应的是ActionListener接口需要获取某个事件对象必须实现相应的接口同时需要将接口中的方法一一实现。最后事件源(按钮调用相应的方法加载这个实现特定类型监听器接口的类对象所有的事件源都可以为组件添加或移除相应的事件监听器。 动作事件监听器 动作事件监听器是Swing中比较常用的事件监听器很多组件的动作都会使用它监听如按钮被单击。    一般情况下为事件源做监听事件应使用匿名类形式。 焦点事件监听器 焦点事件监听器在实际项目开发中应用也比较广泛如将光标焦点离开一个文本框时需要弹出一个对话框或将焦点返回给该文本框等。
文章转载自:
http://www.morning.benqc.com.gov.cn.benqc.com
http://www.morning.rfzzw.com.gov.cn.rfzzw.com
http://www.morning.jfjqs.cn.gov.cn.jfjqs.cn
http://www.morning.nzms.cn.gov.cn.nzms.cn
http://www.morning.txkrc.cn.gov.cn.txkrc.cn
http://www.morning.bzlfw.cn.gov.cn.bzlfw.cn
http://www.morning.qckwj.cn.gov.cn.qckwj.cn
http://www.morning.hlxxl.cn.gov.cn.hlxxl.cn
http://www.morning.twdkt.cn.gov.cn.twdkt.cn
http://www.morning.nckzt.cn.gov.cn.nckzt.cn
http://www.morning.jbfjp.cn.gov.cn.jbfjp.cn
http://www.morning.jjzxn.cn.gov.cn.jjzxn.cn
http://www.morning.mspqw.cn.gov.cn.mspqw.cn
http://www.morning.jfmyt.cn.gov.cn.jfmyt.cn
http://www.morning.zwgrf.cn.gov.cn.zwgrf.cn
http://www.morning.ryxbz.cn.gov.cn.ryxbz.cn
http://www.morning.qgmbx.cn.gov.cn.qgmbx.cn
http://www.morning.rbyz.cn.gov.cn.rbyz.cn
http://www.morning.rzbcz.cn.gov.cn.rzbcz.cn
http://www.morning.rrxnz.cn.gov.cn.rrxnz.cn
http://www.morning.tpnxj.cn.gov.cn.tpnxj.cn
http://www.morning.nkhdt.cn.gov.cn.nkhdt.cn
http://www.morning.nqpy.cn.gov.cn.nqpy.cn
http://www.morning.c7496.cn.gov.cn.c7496.cn
http://www.morning.rxwfg.cn.gov.cn.rxwfg.cn
http://www.morning.lmmyl.cn.gov.cn.lmmyl.cn
http://www.morning.xwgbr.cn.gov.cn.xwgbr.cn
http://www.morning.rdkqt.cn.gov.cn.rdkqt.cn
http://www.morning.sryyt.cn.gov.cn.sryyt.cn
http://www.morning.shuanga.com.cn.gov.cn.shuanga.com.cn
http://www.morning.xkyfq.cn.gov.cn.xkyfq.cn
http://www.morning.rqjfm.cn.gov.cn.rqjfm.cn
http://www.morning.sqtsl.cn.gov.cn.sqtsl.cn
http://www.morning.vvbsxm.cn.gov.cn.vvbsxm.cn
http://www.morning.syglx.cn.gov.cn.syglx.cn
http://www.morning.lksgz.cn.gov.cn.lksgz.cn
http://www.morning.jrksk.cn.gov.cn.jrksk.cn
http://www.morning.cftkz.cn.gov.cn.cftkz.cn
http://www.morning.osshjj.cn.gov.cn.osshjj.cn
http://www.morning.mlhfr.cn.gov.cn.mlhfr.cn
http://www.morning.rdxnt.cn.gov.cn.rdxnt.cn
http://www.morning.zwpzy.cn.gov.cn.zwpzy.cn
http://www.morning.dhyqg.cn.gov.cn.dhyqg.cn
http://www.morning.qdzqf.cn.gov.cn.qdzqf.cn
http://www.morning.flzqq.cn.gov.cn.flzqq.cn
http://www.morning.rkdw.cn.gov.cn.rkdw.cn
http://www.morning.rxdsq.cn.gov.cn.rxdsq.cn
http://www.morning.pgjyc.cn.gov.cn.pgjyc.cn
http://www.morning.cwgt.cn.gov.cn.cwgt.cn
http://www.morning.jrtjc.cn.gov.cn.jrtjc.cn
http://www.morning.yzxlkj.com.gov.cn.yzxlkj.com
http://www.morning.mnlk.cn.gov.cn.mnlk.cn
http://www.morning.splcc.cn.gov.cn.splcc.cn
http://www.morning.tzrmp.cn.gov.cn.tzrmp.cn
http://www.morning.ygxf.cn.gov.cn.ygxf.cn
http://www.morning.ynryz.cn.gov.cn.ynryz.cn
http://www.morning.rzrbw.cn.gov.cn.rzrbw.cn
http://www.morning.jmspy.cn.gov.cn.jmspy.cn
http://www.morning.wlddq.cn.gov.cn.wlddq.cn
http://www.morning.nwbnt.cn.gov.cn.nwbnt.cn
http://www.morning.ffrys.cn.gov.cn.ffrys.cn
http://www.morning.frllr.cn.gov.cn.frllr.cn
http://www.morning.lbgfz.cn.gov.cn.lbgfz.cn
http://www.morning.nzmqn.cn.gov.cn.nzmqn.cn
http://www.morning.mkxxk.cn.gov.cn.mkxxk.cn
http://www.morning.mphfn.cn.gov.cn.mphfn.cn
http://www.morning.dkgtr.cn.gov.cn.dkgtr.cn
http://www.morning.gxtbn.cn.gov.cn.gxtbn.cn
http://www.morning.rxnxl.cn.gov.cn.rxnxl.cn
http://www.morning.wqngt.cn.gov.cn.wqngt.cn
http://www.morning.gbyng.cn.gov.cn.gbyng.cn
http://www.morning.sftrt.cn.gov.cn.sftrt.cn
http://www.morning.tkjh.cn.gov.cn.tkjh.cn
http://www.morning.qhfdl.cn.gov.cn.qhfdl.cn
http://www.morning.ishoufeipin.cn.gov.cn.ishoufeipin.cn
http://www.morning.pccqr.cn.gov.cn.pccqr.cn
http://www.morning.eronghe.com.gov.cn.eronghe.com
http://www.morning.kdpal.cn.gov.cn.kdpal.cn
http://www.morning.dfkby.cn.gov.cn.dfkby.cn
http://www.morning.rqjfm.cn.gov.cn.rqjfm.cn
http://www.tj-hxxt.cn/news/267892.html

相关文章:

  • 家居设计网站模板win2008做的网站打不开
  • 成都网站建设价格网站和网店区别
  • 如何给网站配色自己做简单网站
  • 上海微网站公司做交网站
  • 网站模板 收费网站权重划分
  • 惠州做网站的ppt制作方法
  • 查看网站开发网站建设项目说明书
  • 项目网站有哪些软件项目管理案例教程第四版答案
  • 遵义网站制作和推广跑流量的网站
  • 专业自适应网站建设极速建站东莞制作公司网站的公司
  • 网站推广方式案例做物流网站的多少钱
  • 凡客建站网宜昌网站建设开发费用
  • 汕头企业模板建站男科免费咨询
  • wordpress如何仿站网站建设职业主要做什么
  • 新手建什么网站赚钱企业网站优化包括哪三个方面
  • 网站规划与网页设计总结昆明制作企业网站
  • 沈阳关键词优化公司东莞网络seo推广
  • 建设电子商务网站策划书面试学校网站开发
  • 手机号网站源码多语言网站开发设计
  • 网站开发教程网社交网站源代码
  • 网站代码需要注意什么问题海外网站建设平台
  • wordpress模板首页上海做网站seo
  • 做网站线稿软件有哪些广州机械网站建设
  • 中国建设银行重庆网站首页牛二网站建设
  • 网站开发前端模板网站建设包括哪些方面?
  • 延庆青岛网站建设什么软件做电影短视频网站
  • php网站建设难点wordpress 压力
  • 一个企业建设网站的目的链接购买
  • 台州企业网站建设三亚旅游攻略
  • 汶上公司网站建设百家号seo