Hey,buddy:What's up?

          Happy&Optimistic&Effective

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            14 Posts :: 1 Stories :: 0 Comments :: 0 Trackbacks

          2006年4月27日 #

          本程序改變自網(wǎng)上的一個(gè)datapicker,沒有用javax包,而是基于java.awt包。you can use it in your applet.共四個(gè)文件。

          //1.AbsoluteConstraints.java

          import java.awt.Dimension;
          import java.awt.Point;

          public class AbsoluteConstraints
          ??? implements java.io.Serializable {
          ? static final long serialVersionUID = 5261460716622152494L;
          ? public int x;
          ? public int y;
          ? public int width = -1;
          ? public int height = -1;
          ? public AbsoluteConstraints(Point pos) {
          ??? this(pos.x, pos.y);
          ? }

          ? public AbsoluteConstraints(int x, int y) {
          ??? this.x = x;
          ??? this.y = y;
          ? }

          ? public AbsoluteConstraints(Point pos, Dimension size) {
          ??? this.x = pos.x;
          ??? this.y = pos.y;
          ??? if (size != null) {
          ????? this.width = size.width;
          ????? this.height = size.height;
          ??? }
          ? }

          ? public AbsoluteConstraints(int x, int y, int width, int height) {
          ??? this.x = x;
          ??? this.y = y;
          ??? this.width = width;
          ??? this.height = height;
          ? }

          ? public int getX() {
          ??? return x;
          ? }

          ? public int getY() {
          ??? return y;
          ? }

          ? public int getWidth() {
          ??? return width;
          ? }

          ? public int getHeight() {
          ??? return height;
          ? }

          ? public String toString() {
          ??? return super.toString() + " [x=" + x + ", y=" + y + ", width=" + width +
          ??????? ", height=" + height + "]";
          ? }
          }



          //2.import java.awt.*;

          public class AbsoluteLayout
          ??? implements LayoutManager2, java.io.Serializable {
          ? static final long
          ????? serialVersionUID = -1919857869177070440L;
          ? protected java.util.Hashtable constraints = new java.util.Hashtable();
          ? public
          ????? void addLayoutComponent(String name, Component comp) {
          ??? throw new IllegalArgumentException();
          ? }

          ? public void
          ????? removeLayoutComponent(Component comp) {
          ??? constraints.remove(comp);
          ? }

          ? public Dimension preferredLayoutSize
          ????? (Container parent) {
          ??? int maxWidth = 0;
          ??? int maxHeight = 0;
          ??? for (java.util.Enumeration e =
          ???????? constraints.keys(); e.hasMoreElements(); ) {
          ????? Component comp = (Component) e.nextElement();
          ????? AbsoluteConstraints
          ????????? ac = (AbsoluteConstraints) constraints.get(comp);
          ????? Dimension size = comp.getPreferredSize();
          ????? int width =
          ????????? ac.getWidth();
          ????? if (width == -1)
          ??????? width = size.width;
          ????? int height = ac.getHeight();
          ????? if (height == -1)
          ??????? height = size.height;
          ????? if (ac.x + width > maxWidth)
          ??????? maxWidth = ac.x + width;
          ????? if (ac.y + height >
          ????????? maxHeight)
          ??????? maxHeight = ac.y + height;
          ??? }
          ??? return new Dimension(maxWidth, maxHeight);
          ? }

          ? public
          ????? Dimension minimumLayoutSize(Container parent) {
          ??? int maxWidth = 0;
          ??? int maxHeight = 0;
          ??? for
          ??????? (java.util.Enumeration e = constraints.keys(); e.hasMoreElements(); ) {
          ????? Component comp = (Component) e.nextElement();
          ????? AbsoluteConstraints ac = (AbsoluteConstraints) constraints.get(comp);
          ????? Dimension size = comp.getMinimumSize();
          ????? int width = ac.getWidth();
          ????? if (width == -1)
          ??????? width = size.width;
          ????? int height = ac.getHeight();
          ????? if (height == -1)
          ??????? height = size.height;
          ????? if (ac.x + width > maxWidth)
          ??????? maxWidth = ac.x + width;
          ????? if
          ????????? (ac.y + height > maxHeight)
          ??????? maxHeight = ac.y + height;
          ??? }
          ??? return new Dimension(maxWidth, maxHeight);
          ? }

          ? public void layoutContainer(Container parent) {
          ??? for (java.util.Enumeration e = constraints.keys();
          ???????? e.hasMoreElements(); ) {
          ????? Component comp = (Component) e.nextElement();
          ????? AbsoluteConstraints ac =
          ????????? (AbsoluteConstraints) constraints.get(comp);
          ????? Dimension size = comp.getPreferredSize();
          ????? int width = ac.getWidth();
          ????? if (width == -1)
          ??????? width = size.width;
          ????? int height = ac.getHeight();
          ????? if (height == -1)
          ??????? height = size.height;
          ????? comp.setBounds(ac.x, ac.y, width, height);
          ??? }
          ? }

          ? public void addLayoutComponent
          ????? (Component comp, Object constr) {
          ??? if (! (constr instanceof AbsoluteConstraints))
          ????? throw new
          ????????? IllegalArgumentException();
          ??? constraints.put(comp, constr);
          ? }

          ? public Dimension maximumLayoutSize(Container
          ???????????????????????????????????? target) {
          ??? return new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE);
          ? }

          ? public float getLayoutAlignmentX
          ????? (Container target) {
          ??? return 0;
          ? }

          ? public float getLayoutAlignmentY(Container target) {
          ??? return 0;
          ? }

          ? public void invalidateLayout(Container target) {}
          }

          // 3DateField.java

          import java.awt.BorderLayout;
          import java.awt.Color;
          import java.awt.Insets;
          import java.awt.Point;
          import java.awt.event.ActionEvent;
          import java.awt.event.ActionListener;
          import java.awt.event.ComponentAdapter;
          import java.awt.event.ComponentEvent;
          import java.awt.event.MouseAdapter;
          import java.awt.event.MouseEvent;
          import java.awt.event.MouseMotionAdapter;
          import java.net.URL;
          import java.text.DateFormat;
          import java.text.ParseException;
          import java.util.Date;
          import java.awt.*;

          public final class DateField
          ??? extends Panel {
          ? private static final long serialVersionUID = 1L;
          ? private final TextField dateText = new TextField(12);
          ? private final Button dropdownButton = new Button();
          ? private DatePicker dp;
          ? private Dialog dlg;
          ? Point origin = new Point();
          ? final class Listener
          ????? extends ComponentAdapter {
          ??? public void componentHidden(final ComponentEvent evt) {
          ????? final Date dt = ( (DatePicker) evt.getSource()).getDate();
          ????? if (null != dt)
          ??????? dateText.setText(dateToString(dt));
          ????? dlg.dispose();
          ??? }
          ? }

          ? public DateField() {
          ??? super();
          ??? init();
          ? }

          ? public DateField(final Date initialDate) {
          ??? super();
          ??? init();
          ??? dateText.setText(dateToString(initialDate));
          ? }

          ? public Date getDate() {
          ??? return stringToDate(dateText.getText());
          ? }

          ? public void setDate(Date date) {
          ??? String v = dateToString(date);
          ??? if (v == null) {
          ????? v = "";
          ??? }
          ??? dateText.setText(v);
          ? }

          ? private void init() {
          ??? setLayout(new BorderLayout());
          ??? dateText.setText("");
          ??? dateText.setEditable(false);
          ??? dateText.setBackground(new Color(255, 255, 255));
          ??? add(dateText, BorderLayout.CENTER);
          ??? dropdownButton.setLabel("選擇");
          ??? dropdownButton.setBackground(Color.yellow);
          ??? dropdownButton.addActionListener(new ActionListener() {
          ????? public void actionPerformed(final ActionEvent evt) {
          ??????? onButtonClick(evt);
          ????? }
          ??? });
          ??? add(dropdownButton, BorderLayout.EAST);
          ? }

          ? private void onButtonClick(final java.awt.event.ActionEvent evt) {
          ??? if ("".equals(dateText.getText()))
          ????? dp = new DatePicker();
          ??? else
          ????? dp = new DatePicker(stringToDate(dateText.getText()));
          ??? dp.addComponentListener(new Listener());
          ??? final Point p = dateText.getLocationOnScreen();
          ??? p.setLocation(p.getX(), p.getY() - 1 + dateText.getSize().getHeight());
          ??? dlg = new Dialog(new Frame(), true);
          ??? dlg.addMouseListener(new MouseAdapter() {
          ????? public void mousePressed(MouseEvent e) {
          ??????? origin.x = e.getX();
          ??????? origin.y = e.getY();
          ????? }
          ??? });
          ??? dlg.addMouseMotionListener(new MouseMotionAdapter() {
          ????? public void mouseDragged(MouseEvent e) {
          ??????? Point p = dlg.getLocation();
          ??????? dlg.setLocation(p.x + e.getX() - origin.x, p.y + e.getY() - origin.y);
          ????? }
          ??? });
          ??? dlg.setLocation(p);
          ??? dlg.setResizable(false);
          ??? dlg.setUndecorated(true);
          ??? dlg.add(dp);
          ??? dlg.pack();
          ??? dlg.setVisible(true);
          ? }

          ? private static String dateToString(final Date dt) {
          ??? if (null != dt)
          ????? return DateFormat.getDateInstance(DateFormat.LONG).format(dt);
          ??? return null;
          ? }

          ? private static Date stringToDate(final String s) {
          ??? try {
          ????? return DateFormat.getDateInstance(DateFormat.LONG).parse(s);
          ??? }
          ??? catch (ParseException e) {
          ????? return null;
          ??? }
          ? }

          ? public static void main(String[] args) {
          ??? Dialog dlg = new Dialog(new Frame(), true);
          ??? DateField df = new DateField();
          ?? //dlg.getContentPane().add(df);
          ?? dlg.add(df);
          ??? dlg.pack();
          ??? dlg.setVisible(true);
          ??? System.out.println(df.getDate().toString());
          ??? System.exit(0);
          ? }
          }

          //4.DatePicker.java

          import java.awt.*;
          import java.awt.event.*;
          import java.util.GregorianCalendar;
          import java.util.Date;
          import java.util.Calendar;
          import java.text.DateFormat;
          import java.text.FieldPosition;
          /*
          import javax.swing.*;
          import javax.swing.plaf.BorderUIResource;
          */
          public final class DatePicker
          ??? extends Panel {
          ? private static final long serialVersionUID = 1L;
          ? private static final int startX = 10;
          ? private static final int startY = 60;
          ? private static final Font smallFont = new Font("Dialog", Font.PLAIN, 10);
          ? private static final Font largeFont = new Font("Dialog", Font.PLAIN, 12);
          ? private static final Insets insets = new Insets(2, 2, 2, 2);
          ? private static final Color highlight = Color.YELLOW;//new Color(255, 255, 204);
          ? private static final Color white = new Color(255, 255, 255);
          ? private static final Color gray = new Color(204, 204, 204);
          ? private Component selectedDay = null;
          ? private GregorianCalendar selectedDate = null;
          ? private GregorianCalendar originalDate = null;
          ? private boolean hideOnSelect = true;
          ? private final Button backButton = new Button();
          ? private final Label monthAndYear = new Label();
          ? private final Button forwardButton = new Button();
          ? private final Label[] dayHeadings = new Label[] {
          ????? new Label("日"),
          ????? new Label("一"),
          ????? new Label("二"),
          ????? new Label("三"),
          ????? new Label("四"),
          ????? new Label("五"),
          ????? new Label("六")};

          ? private final Label[][] daysInMonth = new Label[][] {
          ????? {
          ????? new Label(), new Label(),
          ????? new Label(), new Label(),
          ????? new Label(), new Label(),
          ????? new Label()}
          ????? , {
          ????? new Label(),
          ????? new Label(), new Label(),
          ????? new Label(), new Label(),
          ????? new Label(), new Label()}
          ????? , {
          ????? new Label(), new Label(),
          ????? new Label(), new Label(),
          ????? new Label(), new Label(),
          ????? new Label()}
          ????? , {
          ????? new Label(),
          ????? new Label(), new Label(),
          ????? new Label(), new Label(),
          ????? new Label(), new Label()}
          ????? , {
          ????? new Label(), new Label(),
          ????? new Label(), new Label(),
          ????? new Label(), new Label(),
          ????? new Label()}
          ????? , {
          ????? new Label(),
          ????? new Label(), new Label(),
          ????? new Label(), new Label(),
          ????? new Label(), new Label()}
          ? };
          ? private final Button todayButton = new Button();
          ? private final Button cancelButton = new Button();
          ? public DatePicker() {
          ??? super();
          ??? selectedDate = getToday();
          ??? init();
          ? }

          ? public DatePicker(final Date initialDate) {
          ??? super();
          ??? if (null == initialDate)
          ????? selectedDate = getToday();
          ??? else
          ????? (selectedDate = new GregorianCalendar()).setTime(initialDate);
          ??? originalDate = new GregorianCalendar(selectedDate.get(Calendar.YEAR),
          ???????????????????????????????????????? selectedDate.get(Calendar.MONTH),
          ???????????????????????????????????????? selectedDate.get(Calendar.DATE));
          ??? init();
          ? }

          ? public boolean isHideOnSelect() {
          ??? return hideOnSelect;
          ? }

          ? public void setHideOnSelect(final boolean hideOnSelect) {
          ??? if (this.hideOnSelect != hideOnSelect) {
          ????? this.hideOnSelect = hideOnSelect;
          ????? initButtons(false);
          ??? }
          ? }

          ? public Date getDate() {
          ??? if (null != selectedDate)
          ????? return selectedDate.getTime();
          ??? return null;
          ? }

          ? private void init() {
          ??? setLayout(new AbsoluteLayout());
          ??? /*
          ??? this.setMinimumSize(new Dimension(161, 226));
          ??? this.setMaximumSize(getMinimumSize());
          ??? this.setPreferredSize(getMinimumSize());
          ??? this.setBorder(new BorderUIResource.EtchedBorderUIResource());
          ??? */
          ?? this.setSize(new Dimension(161, 226));
          ??? backButton.setFont(smallFont);
          ??? backButton.setLabel("<");
          ? //? backButton.setSize(insets);
          ?//?? backButton.setDefaultCapable(false);
          ??? backButton.addActionListener(new ActionListener() {
          ????? public void actionPerformed(final ActionEvent evt) {
          ??????? onBackClicked(evt);
          ????? }
          ??? });
          ??? add(backButton, new AbsoluteConstraints(10, 10, 20, 20));
          ??? monthAndYear.setFont(largeFont);
          ??? monthAndYear.setAlignment((int)TextField.CENTER_ALIGNMENT);
          ??? monthAndYear.setText(formatDateText(selectedDate.getTime()));
          ??? add(monthAndYear, new AbsoluteConstraints(30, 10, 100, 20));
          ??? forwardButton.setFont(smallFont);
          ??? forwardButton.setLabel(">");
          ?//?? forwardButton.setMargin(insets);
          //??? forwardButton.setDefaultCapable(false);
          ??? forwardButton.addActionListener(new ActionListener() {
          ????? public void actionPerformed(final ActionEvent evt) {
          ??????? onForwardClicked(evt);
          ????? }
          ??? });
          ??? add(forwardButton, new AbsoluteConstraints(130, 10, 20, 20));
          ??? int x = startX;
          ??? for (int ii = 0; ii < dayHeadings.length; ii++) {
          ??? //? dayHeadings[ii].setOpaque(true);
          ????? dayHeadings[ii].setBackground(Color.LIGHT_GRAY);
          ????? dayHeadings[ii].setForeground(Color.WHITE);
          ????? dayHeadings[ii].setAlignment((int)TextField.CENTER_ALIGNMENT);
          ??? //? dayHeadings[ii].setHorizontalAlignment(Label.CENTER);
          ????? add(dayHeadings[ii], new AbsoluteConstraints(x, 40, 21, 21));
          ????? x += 20;
          ??? }
          ??? x = startX;
          ??? int y = startY;
          ??? for (int ii = 0; ii < daysInMonth.length; ii++) {
          ????? for (int jj = 0; jj < daysInMonth[ii].length; jj++) {
          ????? //? daysInMonth[ii][jj].setOpaque(true);
          ??????? daysInMonth[ii][jj].setBackground(white);
          ??????? daysInMonth[ii][jj].setFont(smallFont);
          ???? //?? daysInMonth[ii][jj].setHorizontalAlignment(Label.CENTER);
          ??????? daysInMonth[ii][jj].setText("");
          ??????? daysInMonth[ii][jj].addMouseListener(new MouseAdapter() {
          ????????? public void mouseClicked(final MouseEvent evt) {
          ??????????? onDayClicked(evt);
          ????????? }
          ??????? });
          ??????? add(daysInMonth[ii][jj], new AbsoluteConstraints(x, y, 21, 21));
          ??????? x += 20;
          ????? }
          ????? x = startX;
          ????? y += 20;
          ??? }
          ??? initButtons(true);
          ??? calculateCalendar();
          ? }

          ? private void initButtons(final boolean firstTime) {
          ??? if (firstTime) {
          ????? final Dimension buttonSize = new Dimension(68, 24);
          ????? todayButton.setLabel("今天");
          ????? todayButton.setSize(buttonSize);
          ????? /*
          ????? todayButton.setMargin(insets);
          ????? todayButton.setMaximumSize(buttonSize);
          ????? todayButton.setMinimumSize(buttonSize);
          ????? todayButton.setPreferredSize(buttonSize);
          ????? todayButton.setDefaultCapable(true);
          ????? todayButton.setSelected(true);
          ????? */
          ????? todayButton.addActionListener(new ActionListener() {
          ??????? public void actionPerformed(final ActionEvent evt) {
          ????????? onToday(evt);
          ??????? }
          ????? });
          ????? cancelButton.setLabel("取消");
          ????? cancelButton.setSize(buttonSize);
          ????? /*
          ????? cancelButton.setMargin(insets);
          ????? cancelButton.setMaximumSize(buttonSize);
          ????? cancelButton.setMinimumSize(buttonSize);
          ????? cancelButton.setPreferredSize(buttonSize);
          ????? */
          ????? cancelButton.addActionListener(new ActionListener() {
          ??????? public void actionPerformed(final ActionEvent evt) {
          ????????? onCancel(evt);
          ??????? }
          ????? });
          ??? }
          ??? else {
          ????? this.remove(todayButton);
          ????? this.remove(cancelButton);
          ??? }
          ??? if (hideOnSelect) {
          ????? add(todayButton, new AbsoluteConstraints(25, 190, 52, -1));
          ????? add(cancelButton, new AbsoluteConstraints(87, 190, 52, -1));
          ??? }
          ??? else {
          ????? add(todayButton, new AbsoluteConstraints(55, 190, 52, -1));
          ??? }
          ? }

          ? private void onToday(final java.awt.event.ActionEvent evt) {
          ??? selectedDate = getToday();
          ??? setVisible(!hideOnSelect);
          ??? if (isVisible()) {
          ????? monthAndYear.setText(formatDateText(selectedDate.getTime()));
          ????? calculateCalendar();
          ??? }
          ? }

          ? private void onCancel(final ActionEvent evt) {
          ??? selectedDate = originalDate;
          ??? setVisible(!hideOnSelect);
          ? }

          ? private void onForwardClicked(final java.awt.event.ActionEvent evt) {
          ??? final int day = selectedDate.get(Calendar.DATE);
          ??? selectedDate.set(Calendar.DATE, 1);
          ??? selectedDate.add(Calendar.MONTH, 1);
          ??? selectedDate.set(Calendar.DATE,
          ???????????????????? Math.min(day, calculateDaysInMonth(selectedDate)));
          ??? monthAndYear.setText(formatDateText(selectedDate.getTime()));
          ??? calculateCalendar();
          ? }

          ? private void onBackClicked(final java.awt.event.ActionEvent evt) {
          ??? final int day = selectedDate.get(Calendar.DATE);
          ??? selectedDate.set(Calendar.DATE, 1);
          ??? selectedDate.add(Calendar.MONTH, -1);
          ??? selectedDate.set(Calendar.DATE,
          ???????????????????? Math.min(day, calculateDaysInMonth(selectedDate)));
          ??? monthAndYear.setText(formatDateText(selectedDate.getTime()));
          ??? calculateCalendar();
          ? }

          ? private void onDayClicked(final java.awt.event.MouseEvent evt) {
          ??? final Label fld = (Label) evt.getSource();
          ??? if (!"".equals(fld.getText())) {
          ????? fld.setBackground(highlight);
          ????? selectedDay = fld;
          ????? selectedDate.set(Calendar.DATE, Integer.parseInt(fld.getText()));
          ????? setVisible(!hideOnSelect);
          ??? }
          ? }

          ? private static GregorianCalendar getToday() {
          ??? final GregorianCalendar gc = new GregorianCalendar();
          ??? gc.set(Calendar.HOUR_OF_DAY, 0);
          ??? gc.set(Calendar.MINUTE, 0);
          ??? gc.set(Calendar.SECOND, 0);
          ??? gc.set(Calendar.MILLISECOND, 0);
          ??? return gc;
          ? }

          ? private void calculateCalendar() {
          ??? if (null != selectedDay) {
          ????? selectedDay.setBackground(white);
          ????? selectedDay = null;
          ??? }
          ??? final GregorianCalendar c = new GregorianCalendar(selectedDate.get(Calendar.
          ??????? YEAR), selectedDate.get(Calendar.MONTH), 1);
          ??? final int maxDay = calculateDaysInMonth(c);
          ??? final int selectedDay = Math.min(maxDay, selectedDate.get(Calendar.DATE));
          ??? int dow = c.get(Calendar.DAY_OF_WEEK);
          ??? for (int dd = 0; dd < dow; dd++) {
          ????? daysInMonth[0][dd].setText("");
          ??? }
          ??? int week;
          ??? do {
          ????? week = c.get(Calendar.WEEK_OF_MONTH);
          ????? dow = c.get(Calendar.DAY_OF_WEEK);
          ????? final Label fld = this.daysInMonth[week - 1][dow - 1];
          ????? fld.setText(Integer.toString(c.get(Calendar.DATE)));
          ????? if (selectedDay == c.get(Calendar.DATE)) {
          ??????? fld.setBackground(highlight);
          ??????? this.selectedDay = fld;
          ????? }
          ????? if (c.get(Calendar.DATE) >= maxDay)
          ??????? break;
          ????? c.add(Calendar.DATE, 1);
          ??? }
          ??? while (c.get(Calendar.DATE) <= maxDay); week--;
          ??? for (int ww = week; ww < daysInMonth.length; ww++) {
          ????? for (int dd = dow; dd < daysInMonth[ww].length; dd++) {
          ??????? daysInMonth[ww][dd].setText("");
          ????? }
          ????? dow = 0;
          ??? }
          ??? c.set(Calendar.DATE, selectedDay);
          ??? selectedDate = c;
          ? }

          ? private static int calculateDaysInMonth(final Calendar c) {
          ??? int daysInMonth = 0;
          ??? switch (c.get(Calendar.MONTH)) {
          ????? case 0:
          ????? case 2:
          ????? case 4:
          ????? case 6:
          ????? case 7:
          ????? case 9:
          ????? case 11:
          ??????? daysInMonth = 31;
          ??????? break;
          ????? case 3:
          ????? case 5:
          ????? case 8:
          ????? case 10:
          ??????? daysInMonth = 30;
          ??????? break;
          ????? case 1:
          ??????? final int year = c.get(Calendar.YEAR);
          ??????? daysInMonth = (0 == year % 1000) ? 29 : (0 == year % 100) ? 28 :
          ??????????? (0 == year % 4) ? 29 : 28;
          ??????? break;
          ??? }
          ??? return daysInMonth;
          ? }

          ? private static String formatDateText(final Date dt) {
          ??? final DateFormat df = DateFormat.getDateInstance(DateFormat.LONG);
          ??? final StringBuffer mm = new StringBuffer();
          ??? final StringBuffer yy = new StringBuffer();
          ??? final FieldPosition mmfp = new FieldPosition(DateFormat.MONTH_FIELD);
          ??? final FieldPosition yyfp = new FieldPosition(DateFormat.YEAR_FIELD);
          ??? df.format(dt, mm, mmfp);
          ??? df.format(dt, yy, yyfp);
          ??? return (mm.toString().substring(mmfp.getBeginIndex(), mmfp.getEndIndex()) +
          ??????????? "月 " +
          ??????????? yy.toString().substring(yyfp.getBeginIndex(), yyfp.getEndIndex()) +
          ??????????? "年");
          ? }
          }

          posted @ 2006-04-27 14:32 Kun Tao's Blog 閱讀(272) | 評(píng)論 (0)編輯 收藏

          主站蜘蛛池模板: 普格县| 分宜县| 山阴县| 措勤县| 青神县| 宽甸| 荃湾区| 呼和浩特市| 沁源县| 利津县| 荆州市| 宜阳县| 汨罗市| 鞍山市| 静海县| 盘锦市| 阿拉尔市| 正宁县| 任丘市| 青川县| 平潭县| 玉龙| 兴山县| 桓仁| 石台县| 汽车| 英山县| 乐东| 余姚市| 罗山县| 博野县| 保康县| 西充县| 精河县| 博乐市| 环江| 富平县| 科技| 云林县| 蓝田县| 三都|