锘??xml version="1.0" encoding="utf-8" standalone="yes"?>91精品国产一区二区三区蜜臀,国产香蕉久久精品综合网,国产一区二区精品久久91http://www.aygfsteel.com/kuntao/category/4037.htmlHappy&Optimistic&Effectivezh-cnFri, 02 Mar 2007 06:42:52 GMTFri, 02 Mar 2007 06:42:52 GMT60鏀瑰啓鐨勬棩鏈熼夋嫨鍣?/title><link>http://www.aygfsteel.com/kuntao/archive/2006/04/27/43560.html</link><dc:creator>Kun Tao's Blog</dc:creator><author>Kun Tao's Blog</author><pubDate>Thu, 27 Apr 2006 06:32:00 GMT</pubDate><guid>http://www.aygfsteel.com/kuntao/archive/2006/04/27/43560.html</guid><wfw:comment>http://www.aygfsteel.com/kuntao/comments/43560.html</wfw:comment><comments>http://www.aygfsteel.com/kuntao/archive/2006/04/27/43560.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/kuntao/comments/commentRss/43560.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/kuntao/services/trackbacks/43560.html</trackback:ping><description><![CDATA[ <p>鏈▼搴忔敼鍙樿嚜緗戜笂鐨勪竴涓猟atapicker錛屾病鏈夌敤javax鍖咃紝鑰屾槸鍩轟簬java.awt鍖呫倅ou can use it in your applet.鍏卞洓涓枃浠躲?br /><br />//1.AbsoluteConstraints.java<br /><br />import java.awt.Dimension;<br />import java.awt.Point;</p> <p>public class AbsoluteConstraints<br />聽聽聽 implements java.io.Serializable {<br />聽 static final long serialVersionUID = 5261460716622152494L;<br />聽 public int x;<br />聽 public int y;<br />聽 public int width = -1;<br />聽 public int height = -1;<br />聽 public AbsoluteConstraints(Point pos) {<br />聽聽聽 this(pos.x, pos.y);<br />聽 }</p> <p>聽 public AbsoluteConstraints(int x, int y) {<br />聽聽聽 this.x = x;<br />聽聽聽 this.y = y;<br />聽 }</p> <p>聽 public AbsoluteConstraints(Point pos, Dimension size) {<br />聽聽聽 this.x = pos.x;<br />聽聽聽 this.y = pos.y;<br />聽聽聽 if (size != null) {<br />聽聽聽聽聽 this.width = size.width;<br />聽聽聽聽聽 this.height = size.height;<br />聽聽聽 }<br />聽 }</p> <p>聽 public AbsoluteConstraints(int x, int y, int width, int height) {<br />聽聽聽 this.x = x;<br />聽聽聽 this.y = y;<br />聽聽聽 this.width = width;<br />聽聽聽 this.height = height;<br />聽 }</p> <p>聽 public int getX() {<br />聽聽聽 return x;<br />聽 }</p> <p>聽 public int getY() {<br />聽聽聽 return y;<br />聽 }</p> <p>聽 public int getWidth() {<br />聽聽聽 return width;<br />聽 }</p> <p>聽 public int getHeight() {<br />聽聽聽 return height;<br />聽 }</p> <p>聽 public String toString() {<br />聽聽聽 return super.toString() + " [x=" + x + ", y=" + y + ", width=" + width +<br />聽聽聽聽聽聽聽 ", height=" + height + "]";<br />聽 }<br />}<br /><br /><br /><br />//2.import java.awt.*;</p> <p>public class AbsoluteLayout<br />聽聽聽 implements LayoutManager2, java.io.Serializable {<br />聽 static final long<br />聽聽聽聽聽 serialVersionUID = -1919857869177070440L;<br />聽 protected java.util.Hashtable constraints = new java.util.Hashtable();<br />聽 public<br />聽聽聽聽聽 void addLayoutComponent(String name, Component comp) {<br />聽聽聽 throw new IllegalArgumentException();<br />聽 }</p> <p>聽 public void<br />聽聽聽聽聽 removeLayoutComponent(Component comp) {<br />聽聽聽 constraints.remove(comp);<br />聽 }</p> <p>聽 public Dimension preferredLayoutSize<br />聽聽聽聽聽 (Container parent) {<br />聽聽聽 int maxWidth = 0;<br />聽聽聽 int maxHeight = 0;<br />聽聽聽 for (java.util.Enumeration e =<br />聽聽聽聽聽聽聽聽 constraints.keys(); e.hasMoreElements(); ) {<br />聽聽聽聽聽 Component comp = (Component) e.nextElement();<br />聽聽聽聽聽 AbsoluteConstraints<br />聽聽聽聽聽聽聽聽聽 ac = (AbsoluteConstraints) constraints.get(comp);<br />聽聽聽聽聽 Dimension size = comp.getPreferredSize();<br />聽聽聽聽聽 int width =<br />聽聽聽聽聽聽聽聽聽 ac.getWidth();<br />聽聽聽聽聽 if (width == -1)<br />聽聽聽聽聽聽聽 width = size.width;<br />聽聽聽聽聽 int height = ac.getHeight();<br />聽聽聽聽聽 if (height == -1)<br />聽聽聽聽聽聽聽 height = size.height;<br />聽聽聽聽聽 if (ac.x + width > maxWidth)<br />聽聽聽聽聽聽聽 maxWidth = ac.x + width;<br />聽聽聽聽聽 if (ac.y + height ><br />聽聽聽聽聽聽聽聽聽 maxHeight)<br />聽聽聽聽聽聽聽 maxHeight = ac.y + height;<br />聽聽聽 }<br />聽聽聽 return new Dimension(maxWidth, maxHeight);<br />聽 }</p> <p>聽 public<br />聽聽聽聽聽 Dimension minimumLayoutSize(Container parent) {<br />聽聽聽 int maxWidth = 0;<br />聽聽聽 int maxHeight = 0;<br />聽聽聽 for<br />聽聽聽聽聽聽聽 (java.util.Enumeration e = constraints.keys(); e.hasMoreElements(); ) {<br />聽聽聽聽聽 Component comp = (Component) e.nextElement();<br />聽聽聽聽聽 AbsoluteConstraints ac = (AbsoluteConstraints) constraints.get(comp);<br />聽聽聽聽聽 Dimension size = comp.getMinimumSize();<br />聽聽聽聽聽 int width = ac.getWidth();<br />聽聽聽聽聽 if (width == -1)<br />聽聽聽聽聽聽聽 width = size.width;<br />聽聽聽聽聽 int height = ac.getHeight();<br />聽聽聽聽聽 if (height == -1)<br />聽聽聽聽聽聽聽 height = size.height;<br />聽聽聽聽聽 if (ac.x + width > maxWidth)<br />聽聽聽聽聽聽聽 maxWidth = ac.x + width;<br />聽聽聽聽聽 if<br />聽聽聽聽聽聽聽聽聽 (ac.y + height > maxHeight)<br />聽聽聽聽聽聽聽 maxHeight = ac.y + height;<br />聽聽聽 }<br />聽聽聽 return new Dimension(maxWidth, maxHeight);<br />聽 }</p> <p>聽 public void layoutContainer(Container parent) {<br />聽聽聽 for (java.util.Enumeration e = constraints.keys();<br />聽聽聽聽聽聽聽聽 e.hasMoreElements(); ) {<br />聽聽聽聽聽 Component comp = (Component) e.nextElement();<br />聽聽聽聽聽 AbsoluteConstraints ac =<br />聽聽聽聽聽聽聽聽聽 (AbsoluteConstraints) constraints.get(comp);<br />聽聽聽聽聽 Dimension size = comp.getPreferredSize();<br />聽聽聽聽聽 int width = ac.getWidth();<br />聽聽聽聽聽 if (width == -1)<br />聽聽聽聽聽聽聽 width = size.width;<br />聽聽聽聽聽 int height = ac.getHeight();<br />聽聽聽聽聽 if (height == -1)<br />聽聽聽聽聽聽聽 height = size.height;<br />聽聽聽聽聽 comp.setBounds(ac.x, ac.y, width, height);<br />聽聽聽 }<br />聽 }</p> <p>聽 public void addLayoutComponent<br />聽聽聽聽聽 (Component comp, Object constr) {<br />聽聽聽 if (! (constr instanceof AbsoluteConstraints))<br />聽聽聽聽聽 throw new<br />聽聽聽聽聽聽聽聽聽 IllegalArgumentException();<br />聽聽聽 constraints.put(comp, constr);<br />聽 }</p> <p>聽 public Dimension maximumLayoutSize(Container<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 target) {<br />聽聽聽 return new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE);<br />聽 }</p> <p>聽 public float getLayoutAlignmentX<br />聽聽聽聽聽 (Container target) {<br />聽聽聽 return 0;<br />聽 }</p> <p>聽 public float getLayoutAlignmentY(Container target) {<br />聽聽聽 return 0;<br />聽 }</p> <p>聽 public void invalidateLayout(Container target) {}<br />}<br /><br />// 3DateField.java<br /><br />import java.awt.BorderLayout;<br />import java.awt.Color;<br />import java.awt.Insets;<br />import java.awt.Point;<br />import java.awt.event.ActionEvent;<br />import java.awt.event.ActionListener;<br />import java.awt.event.ComponentAdapter;<br />import java.awt.event.ComponentEvent;<br />import java.awt.event.MouseAdapter;<br />import java.awt.event.MouseEvent;<br />import java.awt.event.MouseMotionAdapter;<br />import java.net.URL;<br />import java.text.DateFormat;<br />import java.text.ParseException;<br />import java.util.Date;<br />import java.awt.*;</p> <p>public final class DateField<br />聽聽聽 extends Panel {<br />聽 private static final long serialVersionUID = 1L;<br />聽 private final TextField dateText = new TextField(12);<br />聽 private final Button dropdownButton = new Button();<br />聽 private DatePicker dp;<br />聽 private Dialog dlg;<br />聽 Point origin = new Point();<br />聽 final class Listener<br />聽聽聽聽聽 extends ComponentAdapter {<br />聽聽聽 public void componentHidden(final ComponentEvent evt) {<br />聽聽聽聽聽 final Date dt = ( (DatePicker) evt.getSource()).getDate();<br />聽聽聽聽聽 if (null != dt)<br />聽聽聽聽聽聽聽 dateText.setText(dateToString(dt));<br />聽聽聽聽聽 dlg.dispose();<br />聽聽聽 }<br />聽 }</p> <p>聽 public DateField() {<br />聽聽聽 super();<br />聽聽聽 init();<br />聽 }</p> <p>聽 public DateField(final Date initialDate) {<br />聽聽聽 super();<br />聽聽聽 init();<br />聽聽聽 dateText.setText(dateToString(initialDate));<br />聽 }</p> <p>聽 public Date getDate() {<br />聽聽聽 return stringToDate(dateText.getText());<br />聽 }</p> <p>聽 public void setDate(Date date) {<br />聽聽聽 String v = dateToString(date);<br />聽聽聽 if (v == null) {<br />聽聽聽聽聽 v = "";<br />聽聽聽 }<br />聽聽聽 dateText.setText(v);<br />聽 }</p> <p>聽 private void init() {<br />聽聽聽 setLayout(new BorderLayout());<br />聽聽聽 dateText.setText("");<br />聽聽聽 dateText.setEditable(false);<br />聽聽聽 dateText.setBackground(new Color(255, 255, 255));<br />聽聽聽 add(dateText, BorderLayout.CENTER);<br />聽聽聽 dropdownButton.setLabel("閫夋嫨");<br />聽聽聽 dropdownButton.setBackground(Color.yellow);<br />聽聽聽 dropdownButton.addActionListener(new ActionListener() {<br />聽聽聽聽聽 public void actionPerformed(final ActionEvent evt) {<br />聽聽聽聽聽聽聽 onButtonClick(evt);<br />聽聽聽聽聽 }<br />聽聽聽 });<br />聽聽聽 add(dropdownButton, BorderLayout.EAST);<br />聽 }</p> <p>聽 private void onButtonClick(final java.awt.event.ActionEvent evt) {<br />聽聽聽 if ("".equals(dateText.getText()))<br />聽聽聽聽聽 dp = new DatePicker();<br />聽聽聽 else<br />聽聽聽聽聽 dp = new DatePicker(stringToDate(dateText.getText()));<br />聽聽聽 dp.addComponentListener(new Listener());<br />聽聽聽 final Point p = dateText.getLocationOnScreen();<br />聽聽聽 p.setLocation(p.getX(), p.getY() - 1 + dateText.getSize().getHeight());<br />聽聽聽 dlg = new Dialog(new Frame(), true);<br />聽聽聽 dlg.addMouseListener(new MouseAdapter() {<br />聽聽聽聽聽 public void mousePressed(MouseEvent e) {<br />聽聽聽聽聽聽聽 origin.x = e.getX();<br />聽聽聽聽聽聽聽 origin.y = e.getY();<br />聽聽聽聽聽 }<br />聽聽聽 });<br />聽聽聽 dlg.addMouseMotionListener(new MouseMotionAdapter() {<br />聽聽聽聽聽 public void mouseDragged(MouseEvent e) {<br />聽聽聽聽聽聽聽 Point p = dlg.getLocation();<br />聽聽聽聽聽聽聽 dlg.setLocation(p.x + e.getX() - origin.x, p.y + e.getY() - origin.y);<br />聽聽聽聽聽 }<br />聽聽聽 });<br />聽聽聽 dlg.setLocation(p);<br />聽聽聽 dlg.setResizable(false);<br />聽聽聽 dlg.setUndecorated(true);<br />聽聽聽 dlg.add(dp);<br />聽聽聽 dlg.pack();<br />聽聽聽 dlg.setVisible(true);<br />聽 }</p> <p>聽 private static String dateToString(final Date dt) {<br />聽聽聽 if (null != dt)<br />聽聽聽聽聽 return DateFormat.getDateInstance(DateFormat.LONG).format(dt);<br />聽聽聽 return null;<br />聽 }</p> <p>聽 private static Date stringToDate(final String s) {<br />聽聽聽 try {<br />聽聽聽聽聽 return DateFormat.getDateInstance(DateFormat.LONG).parse(s);<br />聽聽聽 }<br />聽聽聽 catch (ParseException e) {<br />聽聽聽聽聽 return null;<br />聽聽聽 }<br />聽 }</p> <p>聽 public static void main(String[] args) {<br />聽聽聽 Dialog dlg = new Dialog(new Frame(), true);<br />聽聽聽 DateField df = new DateField();<br />聽聽 //dlg.getContentPane().add(df);<br />聽聽 dlg.add(df);<br />聽聽聽 dlg.pack();<br />聽聽聽 dlg.setVisible(true);<br />聽聽聽 System.out.println(df.getDate().toString());<br />聽聽聽 System.exit(0);<br />聽 }<br />}<br /><br />//4.DatePicker.java<br /><br />import java.awt.*;<br />import java.awt.event.*;<br />import java.util.GregorianCalendar;<br />import java.util.Date;<br />import java.util.Calendar;<br />import java.text.DateFormat;<br />import java.text.FieldPosition;<br />/*<br />import javax.swing.*;<br />import javax.swing.plaf.BorderUIResource;<br />*/<br />public final class DatePicker<br />聽聽聽 extends Panel {<br />聽 private static final long serialVersionUID = 1L;<br />聽 private static final int startX = 10;<br />聽 private static final int startY = 60;<br />聽 private static final Font smallFont = new Font("Dialog", Font.PLAIN, 10);<br />聽 private static final Font largeFont = new Font("Dialog", Font.PLAIN, 12);<br />聽 private static final Insets insets = new Insets(2, 2, 2, 2);<br />聽 private static final Color highlight = Color.YELLOW;//new Color(255, 255, 204);<br />聽 private static final Color white = new Color(255, 255, 255);<br />聽 private static final Color gray = new Color(204, 204, 204);<br />聽 private Component selectedDay = null;<br />聽 private GregorianCalendar selectedDate = null;<br />聽 private GregorianCalendar originalDate = null;<br />聽 private boolean hideOnSelect = true;<br />聽 private final Button backButton = new Button();<br />聽 private final Label monthAndYear = new Label();<br />聽 private final Button forwardButton = new Button();<br />聽 private final Label[] dayHeadings = new Label[] {<br />聽聽聽聽聽 new Label("鏃?),<br />聽聽聽聽聽 new Label("涓"),<br />聽聽聽聽聽 new Label("浜?),<br />聽聽聽聽聽 new Label("涓?),<br />聽聽聽聽聽 new Label("鍥?),<br />聽聽聽聽聽 new Label("浜?),<br />聽聽聽聽聽 new Label("鍏?)};</p> <p>聽 private final Label[][] daysInMonth = new Label[][] {<br />聽聽聽聽聽 {<br />聽聽聽聽聽 new Label(), new Label(),<br />聽聽聽聽聽 new Label(), new Label(),<br />聽聽聽聽聽 new Label(), new Label(),<br />聽聽聽聽聽 new Label()}<br />聽聽聽聽聽 , {<br />聽聽聽聽聽 new Label(),<br />聽聽聽聽聽 new Label(), new Label(),<br />聽聽聽聽聽 new Label(), new Label(),<br />聽聽聽聽聽 new Label(), new Label()}<br />聽聽聽聽聽 , {<br />聽聽聽聽聽 new Label(), new Label(),<br />聽聽聽聽聽 new Label(), new Label(),<br />聽聽聽聽聽 new Label(), new Label(),<br />聽聽聽聽聽 new Label()}<br />聽聽聽聽聽 , {<br />聽聽聽聽聽 new Label(),<br />聽聽聽聽聽 new Label(), new Label(),<br />聽聽聽聽聽 new Label(), new Label(),<br />聽聽聽聽聽 new Label(), new Label()}<br />聽聽聽聽聽 , {<br />聽聽聽聽聽 new Label(), new Label(),<br />聽聽聽聽聽 new Label(), new Label(),<br />聽聽聽聽聽 new Label(), new Label(),<br />聽聽聽聽聽 new Label()}<br />聽聽聽聽聽 , {<br />聽聽聽聽聽 new Label(),<br />聽聽聽聽聽 new Label(), new Label(),<br />聽聽聽聽聽 new Label(), new Label(),<br />聽聽聽聽聽 new Label(), new Label()}<br />聽 };<br />聽 private final Button todayButton = new Button();<br />聽 private final Button cancelButton = new Button();<br />聽 public DatePicker() {<br />聽聽聽 super();<br />聽聽聽 selectedDate = getToday();<br />聽聽聽 init();<br />聽 }</p> <p>聽 public DatePicker(final Date initialDate) {<br />聽聽聽 super();<br />聽聽聽 if (null == initialDate)<br />聽聽聽聽聽 selectedDate = getToday();<br />聽聽聽 else<br />聽聽聽聽聽 (selectedDate = new GregorianCalendar()).setTime(initialDate);<br />聽聽聽 originalDate = new GregorianCalendar(selectedDate.get(Calendar.YEAR),<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 selectedDate.get(Calendar.MONTH),<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 selectedDate.get(Calendar.DATE));<br />聽聽聽 init();<br />聽 }</p> <p>聽 public boolean isHideOnSelect() {<br />聽聽聽 return hideOnSelect;<br />聽 }</p> <p>聽 public void setHideOnSelect(final boolean hideOnSelect) {<br />聽聽聽 if (this.hideOnSelect != hideOnSelect) {<br />聽聽聽聽聽 this.hideOnSelect = hideOnSelect;<br />聽聽聽聽聽 initButtons(false);<br />聽聽聽 }<br />聽 }</p> <p>聽 public Date getDate() {<br />聽聽聽 if (null != selectedDate)<br />聽聽聽聽聽 return selectedDate.getTime();<br />聽聽聽 return null;<br />聽 }</p> <p>聽 private void init() {<br />聽聽聽 setLayout(new AbsoluteLayout());<br />聽聽聽 /*<br />聽聽聽 this.setMinimumSize(new Dimension(161, 226));<br />聽聽聽 this.setMaximumSize(getMinimumSize());<br />聽聽聽 this.setPreferredSize(getMinimumSize());<br />聽聽聽 this.setBorder(new BorderUIResource.EtchedBorderUIResource());<br />聽聽聽 */<br />聽聽 this.setSize(new Dimension(161, 226));<br />聽聽聽 backButton.setFont(smallFont);<br />聽聽聽 backButton.setLabel("<");<br />聽 //聽 backButton.setSize(insets);<br />聽//聽聽 backButton.setDefaultCapable(false);<br />聽聽聽 backButton.addActionListener(new ActionListener() {<br />聽聽聽聽聽 public void actionPerformed(final ActionEvent evt) {<br />聽聽聽聽聽聽聽 onBackClicked(evt);<br />聽聽聽聽聽 }<br />聽聽聽 });<br />聽聽聽 add(backButton, new AbsoluteConstraints(10, 10, 20, 20));<br />聽聽聽 monthAndYear.setFont(largeFont);<br />聽聽聽 monthAndYear.setAlignment((int)TextField.CENTER_ALIGNMENT);<br />聽聽聽 monthAndYear.setText(formatDateText(selectedDate.getTime()));<br />聽聽聽 add(monthAndYear, new AbsoluteConstraints(30, 10, 100, 20));<br />聽聽聽 forwardButton.setFont(smallFont);<br />聽聽聽 forwardButton.setLabel(">");<br />聽//聽聽 forwardButton.setMargin(insets);<br />//聽聽聽 forwardButton.setDefaultCapable(false);<br />聽聽聽 forwardButton.addActionListener(new ActionListener() {<br />聽聽聽聽聽 public void actionPerformed(final ActionEvent evt) {<br />聽聽聽聽聽聽聽 onForwardClicked(evt);<br />聽聽聽聽聽 }<br />聽聽聽 });<br />聽聽聽 add(forwardButton, new AbsoluteConstraints(130, 10, 20, 20));<br />聽聽聽 int x = startX;<br />聽聽聽 for (int ii = 0; ii < dayHeadings.length; ii++) {<br />聽聽聽 //聽 dayHeadings[ii].setOpaque(true);<br />聽聽聽聽聽 dayHeadings[ii].setBackground(Color.LIGHT_GRAY);<br />聽聽聽聽聽 dayHeadings[ii].setForeground(Color.WHITE);<br />聽聽聽聽聽 dayHeadings[ii].setAlignment((int)TextField.CENTER_ALIGNMENT);<br />聽聽聽 //聽 dayHeadings[ii].setHorizontalAlignment(Label.CENTER);<br />聽聽聽聽聽 add(dayHeadings[ii], new AbsoluteConstraints(x, 40, 21, 21));<br />聽聽聽聽聽 x += 20;<br />聽聽聽 }<br />聽聽聽 x = startX;<br />聽聽聽 int y = startY;<br />聽聽聽 for (int ii = 0; ii < daysInMonth.length; ii++) {<br />聽聽聽聽聽 for (int jj = 0; jj < daysInMonth[ii].length; jj++) {<br />聽聽聽聽聽 //聽 daysInMonth[ii][jj].setOpaque(true);<br />聽聽聽聽聽聽聽 daysInMonth[ii][jj].setBackground(white);<br />聽聽聽聽聽聽聽 daysInMonth[ii][jj].setFont(smallFont);<br />聽聽聽聽 //聽聽 daysInMonth[ii][jj].setHorizontalAlignment(Label.CENTER);<br />聽聽聽聽聽聽聽 daysInMonth[ii][jj].setText("");<br />聽聽聽聽聽聽聽 daysInMonth[ii][jj].addMouseListener(new MouseAdapter() {<br />聽聽聽聽聽聽聽聽聽 public void mouseClicked(final MouseEvent evt) {<br />聽聽聽聽聽聽聽聽聽聽聽 onDayClicked(evt);<br />聽聽聽聽聽聽聽聽聽 }<br />聽聽聽聽聽聽聽 });<br />聽聽聽聽聽聽聽 add(daysInMonth[ii][jj], new AbsoluteConstraints(x, y, 21, 21));<br />聽聽聽聽聽聽聽 x += 20;<br />聽聽聽聽聽 }<br />聽聽聽聽聽 x = startX;<br />聽聽聽聽聽 y += 20;<br />聽聽聽 }<br />聽聽聽 initButtons(true);<br />聽聽聽 calculateCalendar();<br />聽 }</p> <p>聽 private void initButtons(final boolean firstTime) {<br />聽聽聽 if (firstTime) {<br />聽聽聽聽聽 final Dimension buttonSize = new Dimension(68, 24);<br />聽聽聽聽聽 todayButton.setLabel("浠婂ぉ");<br />聽聽聽聽聽 todayButton.setSize(buttonSize);<br />聽聽聽聽聽 /*<br />聽聽聽聽聽 todayButton.setMargin(insets);<br />聽聽聽聽聽 todayButton.setMaximumSize(buttonSize);<br />聽聽聽聽聽 todayButton.setMinimumSize(buttonSize);<br />聽聽聽聽聽 todayButton.setPreferredSize(buttonSize);<br />聽聽聽聽聽 todayButton.setDefaultCapable(true);<br />聽聽聽聽聽 todayButton.setSelected(true);<br />聽聽聽聽聽 */<br />聽聽聽聽聽 todayButton.addActionListener(new ActionListener() {<br />聽聽聽聽聽聽聽 public void actionPerformed(final ActionEvent evt) {<br />聽聽聽聽聽聽聽聽聽 onToday(evt);<br />聽聽聽聽聽聽聽 }<br />聽聽聽聽聽 });<br />聽聽聽聽聽 cancelButton.setLabel("鍙栨秷");<br />聽聽聽聽聽 cancelButton.setSize(buttonSize);<br />聽聽聽聽聽 /*<br />聽聽聽聽聽 cancelButton.setMargin(insets);<br />聽聽聽聽聽 cancelButton.setMaximumSize(buttonSize);<br />聽聽聽聽聽 cancelButton.setMinimumSize(buttonSize);<br />聽聽聽聽聽 cancelButton.setPreferredSize(buttonSize);<br />聽聽聽聽聽 */<br />聽聽聽聽聽 cancelButton.addActionListener(new ActionListener() {<br />聽聽聽聽聽聽聽 public void actionPerformed(final ActionEvent evt) {<br />聽聽聽聽聽聽聽聽聽 onCancel(evt);<br />聽聽聽聽聽聽聽 }<br />聽聽聽聽聽 });<br />聽聽聽 }<br />聽聽聽 else {<br />聽聽聽聽聽 this.remove(todayButton);<br />聽聽聽聽聽 this.remove(cancelButton);<br />聽聽聽 }<br />聽聽聽 if (hideOnSelect) {<br />聽聽聽聽聽 add(todayButton, new AbsoluteConstraints(25, 190, 52, -1));<br />聽聽聽聽聽 add(cancelButton, new AbsoluteConstraints(87, 190, 52, -1));<br />聽聽聽 }<br />聽聽聽 else {<br />聽聽聽聽聽 add(todayButton, new AbsoluteConstraints(55, 190, 52, -1));<br />聽聽聽 }<br />聽 }</p> <p>聽 private void onToday(final java.awt.event.ActionEvent evt) {<br />聽聽聽 selectedDate = getToday();<br />聽聽聽 setVisible(!hideOnSelect);<br />聽聽聽 if (isVisible()) {<br />聽聽聽聽聽 monthAndYear.setText(formatDateText(selectedDate.getTime()));<br />聽聽聽聽聽 calculateCalendar();<br />聽聽聽 }<br />聽 }</p> <p>聽 private void onCancel(final ActionEvent evt) {<br />聽聽聽 selectedDate = originalDate;<br />聽聽聽 setVisible(!hideOnSelect);<br />聽 }</p> <p>聽 private void onForwardClicked(final java.awt.event.ActionEvent evt) {<br />聽聽聽 final int day = selectedDate.get(Calendar.DATE);<br />聽聽聽 selectedDate.set(Calendar.DATE, 1);<br />聽聽聽 selectedDate.add(Calendar.MONTH, 1);<br />聽聽聽 selectedDate.set(Calendar.DATE,<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Math.min(day, calculateDaysInMonth(selectedDate)));<br />聽聽聽 monthAndYear.setText(formatDateText(selectedDate.getTime()));<br />聽聽聽 calculateCalendar();<br />聽 }</p> <p>聽 private void onBackClicked(final java.awt.event.ActionEvent evt) {<br />聽聽聽 final int day = selectedDate.get(Calendar.DATE);<br />聽聽聽 selectedDate.set(Calendar.DATE, 1);<br />聽聽聽 selectedDate.add(Calendar.MONTH, -1);<br />聽聽聽 selectedDate.set(Calendar.DATE,<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Math.min(day, calculateDaysInMonth(selectedDate)));<br />聽聽聽 monthAndYear.setText(formatDateText(selectedDate.getTime()));<br />聽聽聽 calculateCalendar();<br />聽 }</p> <p>聽 private void onDayClicked(final java.awt.event.MouseEvent evt) {<br />聽聽聽 final Label fld = (Label) evt.getSource();<br />聽聽聽 if (!"".equals(fld.getText())) {<br />聽聽聽聽聽 fld.setBackground(highlight);<br />聽聽聽聽聽 selectedDay = fld;<br />聽聽聽聽聽 selectedDate.set(Calendar.DATE, Integer.parseInt(fld.getText()));<br />聽聽聽聽聽 setVisible(!hideOnSelect);<br />聽聽聽 }<br />聽 }</p> <p>聽 private static GregorianCalendar getToday() {<br />聽聽聽 final GregorianCalendar gc = new GregorianCalendar();<br />聽聽聽 gc.set(Calendar.HOUR_OF_DAY, 0);<br />聽聽聽 gc.set(Calendar.MINUTE, 0);<br />聽聽聽 gc.set(Calendar.SECOND, 0);<br />聽聽聽 gc.set(Calendar.MILLISECOND, 0);<br />聽聽聽 return gc;<br />聽 }</p> <p>聽 private void calculateCalendar() {<br />聽聽聽 if (null != selectedDay) {<br />聽聽聽聽聽 selectedDay.setBackground(white);<br />聽聽聽聽聽 selectedDay = null;<br />聽聽聽 }<br />聽聽聽 final GregorianCalendar c = new GregorianCalendar(selectedDate.get(Calendar.<br />聽聽聽聽聽聽聽 YEAR), selectedDate.get(Calendar.MONTH), 1);<br />聽聽聽 final int maxDay = calculateDaysInMonth(c);<br />聽聽聽 final int selectedDay = Math.min(maxDay, selectedDate.get(Calendar.DATE));<br />聽聽聽 int dow = c.get(Calendar.DAY_OF_WEEK);<br />聽聽聽 for (int dd = 0; dd < dow; dd++) {<br />聽聽聽聽聽 daysInMonth[0][dd].setText("");<br />聽聽聽 }<br />聽聽聽 int week;<br />聽聽聽 do {<br />聽聽聽聽聽 week = c.get(Calendar.WEEK_OF_MONTH);<br />聽聽聽聽聽 dow = c.get(Calendar.DAY_OF_WEEK);<br />聽聽聽聽聽 final Label fld = this.daysInMonth[week - 1][dow - 1];<br />聽聽聽聽聽 fld.setText(Integer.toString(c.get(Calendar.DATE)));<br />聽聽聽聽聽 if (selectedDay == c.get(Calendar.DATE)) {<br />聽聽聽聽聽聽聽 fld.setBackground(highlight);<br />聽聽聽聽聽聽聽 this.selectedDay = fld;<br />聽聽聽聽聽 }<br />聽聽聽聽聽 if (c.get(Calendar.DATE) >= maxDay)<br />聽聽聽聽聽聽聽 break;<br />聽聽聽聽聽 c.add(Calendar.DATE, 1);<br />聽聽聽 }<br />聽聽聽 while (c.get(Calendar.DATE) <= maxDay); week--;<br />聽聽聽 for (int ww = week; ww < daysInMonth.length; ww++) {<br />聽聽聽聽聽 for (int dd = dow; dd < daysInMonth[ww].length; dd++) {<br />聽聽聽聽聽聽聽 daysInMonth[ww][dd].setText("");<br />聽聽聽聽聽 }<br />聽聽聽聽聽 dow = 0;<br />聽聽聽 }<br />聽聽聽 c.set(Calendar.DATE, selectedDay);<br />聽聽聽 selectedDate = c;<br />聽 }</p> <p>聽 private static int calculateDaysInMonth(final Calendar c) {<br />聽聽聽 int daysInMonth = 0;<br />聽聽聽 switch (c.get(Calendar.MONTH)) {<br />聽聽聽聽聽 case 0:<br />聽聽聽聽聽 case 2:<br />聽聽聽聽聽 case 4:<br />聽聽聽聽聽 case 6:<br />聽聽聽聽聽 case 7:<br />聽聽聽聽聽 case 9:<br />聽聽聽聽聽 case 11:<br />聽聽聽聽聽聽聽 daysInMonth = 31;<br />聽聽聽聽聽聽聽 break;<br />聽聽聽聽聽 case 3:<br />聽聽聽聽聽 case 5:<br />聽聽聽聽聽 case 8:<br />聽聽聽聽聽 case 10:<br />聽聽聽聽聽聽聽 daysInMonth = 30;<br />聽聽聽聽聽聽聽 break;<br />聽聽聽聽聽 case 1:<br />聽聽聽聽聽聽聽 final int year = c.get(Calendar.YEAR);<br />聽聽聽聽聽聽聽 daysInMonth = (0 == year % 1000) ? 29 : (0 == year % 100) ? 28 :<br />聽聽聽聽聽聽聽聽聽聽聽 (0 == year % 4) ? 29 : 28;<br />聽聽聽聽聽聽聽 break;<br />聽聽聽 }<br />聽聽聽 return daysInMonth;<br />聽 }</p> <p>聽 private static String formatDateText(final Date dt) {<br />聽聽聽 final DateFormat df = DateFormat.getDateInstance(DateFormat.LONG);<br />聽聽聽 final StringBuffer mm = new StringBuffer();<br />聽聽聽 final StringBuffer yy = new StringBuffer();<br />聽聽聽 final FieldPosition mmfp = new FieldPosition(DateFormat.MONTH_FIELD);<br />聽聽聽 final FieldPosition yyfp = new FieldPosition(DateFormat.YEAR_FIELD);<br />聽聽聽 df.format(dt, mm, mmfp);<br />聽聽聽 df.format(dt, yy, yyfp);<br />聽聽聽 return (mm.toString().substring(mmfp.getBeginIndex(), mmfp.getEndIndex()) +<br />聽聽聽聽聽聽聽聽聽聽聽 "鏈?" +<br />聽聽聽聽聽聽聽聽聽聽聽 yy.toString().substring(yyfp.getBeginIndex(), yyfp.getEndIndex()) +<br />聽聽聽聽聽聽聽聽聽聽聽 "騫?);<br />聽 }<br />}</p> <img src ="http://www.aygfsteel.com/kuntao/aggbug/43560.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/kuntao/" target="_blank">Kun Tao's Blog</a> 2006-04-27 14:32 <a href="http://www.aygfsteel.com/kuntao/archive/2006/04/27/43560.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>褰撳墠嫻佽鐨凧2EE WEB搴旂敤鏋舵瀯鍒嗘瀽錛?錛?/title><link>http://www.aygfsteel.com/kuntao/archive/2005/10/21/16338.html</link><dc:creator>Kun Tao's Blog</dc:creator><author>Kun Tao's Blog</author><pubDate>Fri, 21 Oct 2005 12:38:00 GMT</pubDate><guid>http://www.aygfsteel.com/kuntao/archive/2005/10/21/16338.html</guid><wfw:comment>http://www.aygfsteel.com/kuntao/comments/16338.html</wfw:comment><comments>http://www.aygfsteel.com/kuntao/archive/2005/10/21/16338.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/kuntao/comments/commentRss/16338.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/kuntao/services/trackbacks/16338.html</trackback:ping><description><![CDATA[     鎽樿: 2.1.3. 浼樼己鐐?浼樼偣錛?涓浜涘紑鍙戝晢寮濮嬮噰鐢ㄥ茍鎺ㄥ箍榪欎釜妗嗘灦浣滀負寮婧愰」鐩紝鏈夊緢澶氬厛榪涚殑瀹炵幇鎬濇兂瀵瑰ぇ鍨嬬殑搴旂敤鏀寔鐨勮緝濂芥湁闆嗕腑鐨勭綉欏靛鑸畾涔?緙虹偣錛?涓嶆槸涓氬眾鏍囧噯瀵瑰紑鍙戝伐鍏風殑鏀寔涓嶅澶嶆潅鐨則aglib錛岄渶瑕佹瘮杈冮暱鐨勬椂闂存潵鎺屾彙html form 鍜?actionform鐨勬惌閰嶆瘮杈冨皝闂紝浣嗚繖涔熸槸瀹冪殑綺懼崕鎵鍦ㄣ?淇敼寤鴻鎶奱ctionform灞炴х殑璁劇疆鍣ㄥ拰璁塊棶鍣ㄤ慨鏀規(guī)垚璇誨彇鎴栫敓鎴恱ml鏂囨。鐨勬柟娉曪紝鐒跺悗 ht...  <a href='http://www.aygfsteel.com/kuntao/archive/2005/10/21/16338.html'>闃呰鍏ㄦ枃</a><img src ="http://www.aygfsteel.com/kuntao/aggbug/16338.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/kuntao/" target="_blank">Kun Tao's Blog</a> 2005-10-21 20:38 <a href="http://www.aygfsteel.com/kuntao/archive/2005/10/21/16338.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>褰撳墠嫻佽鐨凧2EE WEB搴旂敤鏋舵瀯鍒嗘瀽錛?錛?/title><link>http://www.aygfsteel.com/kuntao/archive/2005/10/21/16334.html</link><dc:creator>Kun Tao's Blog</dc:creator><author>Kun Tao's Blog</author><pubDate>Fri, 21 Oct 2005 12:21:00 GMT</pubDate><guid>http://www.aygfsteel.com/kuntao/archive/2005/10/21/16334.html</guid><wfw:comment>http://www.aygfsteel.com/kuntao/comments/16334.html</wfw:comment><comments>http://www.aygfsteel.com/kuntao/archive/2005/10/21/16334.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/kuntao/comments/commentRss/16334.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/kuntao/services/trackbacks/16334.html</trackback:ping><description><![CDATA[     鎽樿: 杞澆璇存槑錛氭湰鏂囦富瑕佽榪板唴瀹癸細J2EE web鏋舵瀯鍩虹嚎錛屾ā鍨嬮夊彇浠ュ強鍑犱釜妯″瀷鐨勪紭緙虹偣瀵規(guī)瘮銆備竴銆丣2EE浣撶郴鍖呮嫭java server pages(JSP) ,java SERVLET, enterprise bean錛學(xué)EB service絳夋妧鏈傛庢牱鎶婅繖浜涙妧鏈粍鍚堣搗鏉ュ艦鎴愪竴涓傚簲欏圭洰闇瑕佺殑紼沖畾鏋舵瀯鏄」鐩紑鍙戣繃紼嬩腑涓涓潪甯擱噸瑕佺殑姝ラ銆傚畬鎴愯繖涓楠ゅ彲浠ュ艦鎴愪竴涓富瑕侀噷紼嬬鍩虹嚎銆?.鍚勭鍥犳暟鍒濇紜畾 涓轟簡...  <a href='http://www.aygfsteel.com/kuntao/archive/2005/10/21/16334.html'>闃呰鍏ㄦ枃</a><img src ="http://www.aygfsteel.com/kuntao/aggbug/16334.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/kuntao/" target="_blank">Kun Tao's Blog</a> 2005-10-21 20:21 <a href="http://www.aygfsteel.com/kuntao/archive/2005/10/21/16334.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>寮鍙慗2EE搴旂敤搴旈伒寰殑鍑犵偣鍘熷垯http://www.aygfsteel.com/kuntao/archive/2005/10/21/16329.htmlKun Tao's BlogKun Tao's BlogFri, 21 Oct 2005 11:43:00 GMThttp://www.aygfsteel.com/kuntao/archive/2005/10/21/16329.htmlhttp://www.aygfsteel.com/kuntao/comments/16329.htmlhttp://www.aygfsteel.com/kuntao/archive/2005/10/21/16329.html#Feedback0http://www.aygfsteel.com/kuntao/comments/commentRss/16329.htmlhttp://www.aygfsteel.com/kuntao/services/trackbacks/16329.html闃呰鍏ㄦ枃

Kun Tao's Blog 2005-10-21 19:43 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 合江县| 屏山县| 杭锦后旗| 揭东县| 海南省| 东台市| 台中县| 赤壁市| 江源县| 梨树县| 揭阳市| 深圳市| 志丹县| 建水县| 岳西县| 灌阳县| 广水市| 锦屏县| 赫章县| 荥阳市| 奉贤区| 延吉市| 四平市| 喜德县| 溧水县| 资阳市| 三门县| 黄陵县| 双辽市| 城口县| 车险| 清苑县| 新野县| 南郑县| 新闻| 鄂伦春自治旗| 长兴县| 缙云县| 固安县| 石楼县| 页游|