自定義java Swing日曆選擇元件JCalendarChooser
package cn.net.iem.view.mainframe; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.GridLayout; import java.awt.Label; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingConstants; import cn.net.iem.calendar.JCalendarChooser; import cn.net.iem.view.EditJTextField; import cn.net.iem.view.loggin.Loggin; /* * @param time 發震時間 * @param longitude 經度 * @param altitude 緯度 * @param depth 深度 * @param magnitude 震級 * @param location 參考位置 * */ public class SearchPane extends JPanel implements ActionListener,MouseListener { //編輯屬性 //private JComboBox regionComBox; private EditJTextField minTimeField,maxTimeField,minLongitudeField,maxLongitudeField,minAltitudeField,maxAltitudeField, minDepthField,maxDepthField,minMagnitudeField,maxMagnitudeField,locationField; private JButton searchBut; //儲存編輯屬性後的結果 private String minTime; private String maxTime; private float minLongitude; private float maxLongitude; private float minAltitude; private float maxAltitude; private int minDepth; private int maxDepth; private float minMagnitude; private float maxMagnitude; private String location; public SearchPane(){ super(); initial(10); create(); addListener(); } /** *初始化類屬性 * */ private void initial(int size){ minTimeField=new EditJTextField(size); maxTimeField=new EditJTextField(size); minLongitudeField=new EditJTextField(size); maxLongitudeField=new EditJTextField(size); minAltitudeField=new EditJTextField(size); maxAltitudeField=new EditJTextField(size); minDepthField=new EditJTextField(size); maxDepthField=new EditJTextField(size); minMagnitudeField=new EditJTextField(size); maxMagnitudeField=new EditJTextField(size); locationField=new EditJTextField(size); searchBut=new JButton("查詢"); } /** *元件新增監聽器 * */ private void addListener(){ searchBut.addActionListener(this); minTimeField.addMouseListener(this); maxTimeField.addMouseListener(this); } /** *建立面板 * */ private void create(){ JLabel label1=new JLabel("發震時間:",JLabel.RIGHT); JLabel label3=new JLabel("經度:",JLabel.RIGHT); JLabel label4=new JLabel("緯度:",JLabel.RIGHT); JLabel label5=new JLabel("深度(千米):",JLabel.RIGHT); JLabel label6=new JLabel("震級(M):",JLabel.RIGHT); JLabel label7=new JLabel("位置(支援模糊查詢):",JLabel.RIGHT); JPanel pane1=new JPanel(); pane1.add(searchBut); JPanel pane2=new JPanel(); pane2.setLayout(new GridBagLayout()); //設定網格組佈局管理器的引數 GridBagConstraints constraints=new GridBagConstraints(); //使用網格組佈局新增控制元件 Loggin.add(pane2, label1, constraints, 0,0,1,1,0,0,0,0); Loggin.add(pane2, minTimeField, constraints, 1,0,2,1,0,0,0,0); Loggin.add(pane2, new JLabel(" 到 "), constraints, 3,0,1,1,0,0,0,0); Loggin.add(pane2, maxTimeField, constraints, 4,0,2,1,0,0,0,0); Loggin.add(pane2, new JLabel(" "), constraints, 6,0,2,1,0,0,0,0); Loggin.add(pane2, label3, constraints, 8,0,1,1,0,0,0,0); Loggin.add(pane2, minLongitudeField,constraints, 9,0,2,1,0,0,0,0); Loggin.add(pane2, new JLabel(" 到 "), constraints,11,0,1,1,0,0,0,0); Loggin.add(pane2, maxLongitudeField,constraints,12,0,2,1,0,0,0,0); Loggin.add(pane2, label4, constraints, 0,1,1,1,0,0,0,0); Loggin.add(pane2, minAltitudeField, constraints, 1,1,2,1,0,0,0,0); Loggin.add(pane2, new JLabel(" 到 "), constraints, 3,1,1,1,0,0,0,0); Loggin.add(pane2, maxAltitudeField, constraints, 4,1,2,1,0,0,0,0); Loggin.add(pane2, new JLabel(" "), constraints, 6,1,2,1,0,0,0,0); Loggin.add(pane2, label5, constraints, 8,1,1,1,0,0,0,0); Loggin.add(pane2, minDepthField, constraints, 9,1,2,1,0,0,0,0); Loggin.add(pane2, new JLabel(" 到 "), constraints,11,1,1,1,0,0,0,0); Loggin.add(pane2, maxDepthField, constraints,12,1,2,1,0,0,0,0); Loggin.add(pane2, label6, constraints, 0,2,1,1,0,0,0,0); Loggin.add(pane2, minMagnitudeField,constraints, 1,2,2,1,0,0,0,0); Loggin.add(pane2, new JLabel(" 到 "), constraints, 3,2,1,1,0,0,0,0); Loggin.add(pane2, maxMagnitudeField,constraints, 4,2,2,1,0,0,0,0); Loggin.add(pane2, new JLabel(" "), constraints, 6,2,2,1,0,0,0,0); Loggin.add(pane2, label7, constraints, 8,2,1,1,0,0,0,0); Loggin.add(pane2, locationField, constraints, 9,2,5,1,0,0,0,0); this.setLayout(new BorderLayout()); this.add(pane2,BorderLayout.NORTH); this.add(pane1,BorderLayout.SOUTH); } @Override public void actionPerformed(ActionEvent e) { if(e.getSource()==searchBut){ //開啟查詢介面 new SearchFrame().setVisible(true); } } @Override public void mouseClicked(MouseEvent e) { // TODO Auto-generated method stub if(e.getSource()==minTimeField&&e.getButton()==MouseEvent.BUTTON1){ JCalendarChooser myJCalendar = new JCalendarChooser(minTimeField); int returnValue = myJCalendar.showOpenDialog(); if (returnValue == JCalendarChooser.CLEAR_OPTION) minTimeField.setText(""); else if (returnValue == JCalendarChooser.APPROVE_OPTION) minTimeField.setText(myJCalendar.getDate()); }else if(e.getSource()==maxTimeField&&e.getButton()==MouseEvent.BUTTON1){ JCalendarChooser myJCalendar = new JCalendarChooser(maxTimeField); int returnValue = myJCalendar.showOpenDialog(); if (returnValue == JCalendarChooser.CLEAR_OPTION) maxTimeField.setText(""); else if (returnValue == JCalendarChooser.APPROVE_OPTION) maxTimeField.setText(myJCalendar.getDate()); } } public void mouseEntered(MouseEvent e) {} public void mouseExited(MouseEvent e) {} public void mousePressed(MouseEvent e) {} public void mouseReleased(MouseEvent e) {} }
相關推薦
自定義java Swing日曆選擇元件JCalendarChooser
package cn.net.iem.view.mainframe; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.GridBagConstraints; impo
自定義.NET Calarder日曆控制元件(實現部落格園日曆)
這幾天看了下.net 日曆控制元件,去Google了下出來很多,大家都知道.netframework版本中自帶的日曆控制元件只有日期沒有備註的,比如我在1月1日下面要顯示出‘元旦節’這三個字,那要怎麼做呢? 下面先熟悉下Calarder控制元件的常用屬性: Selectio
iOS之自定義簡單的日曆控制元件
iOS並沒有系統日曆控制元件,但是說白了就是基於UICollectionView的封裝,對於UICollectionView我就不說他的建立了,主要難在資料的處理,下面我就說一下處理資料的思路: 我將資料分為三部分進行處理:如下圖: - (NSDateCom
Android自定義View之-----日曆控制元件
寫在前面 Android的系統的日曆控制元件十分簡陋,在專案中拿不出手啊,這也許就是蘋果和Android的顯式區別:系統控制元件美觀合理,各App統一,最後App和系統風格統一;而Android由於長相上先天不足,當然自從有了MD之後也十分fashion了
Java Swing使用者介面元件之選擇元件簡介(未完待續)
對使用者介面進行設計時,很多情況下都需要給使用者以選項做出選擇。因此常常會用到選擇元件,其中包括:複選框元件(JCheckBox)、單選框元件(JRadioButton)等。本篇文章主要介紹了Java Swing元件複選框JCheckBox用法,結合具體例項形
自定義Android日期時間選擇控制元件DateTimePickerDialog
ad = new AlertDialog.Builder(activity).setIcon(R.drawable.datetimeicon).setTitle(initDateTime).setView(dateTimeLayout).setPositiveButton("設定",
java Swing 時間選擇器控制元件
效果圖: 中的 flowlayout_v.jar 檔案 示例程式碼: HongYeLingGuDate類 import java.awt.Color; import java.awt.Dimension; import java.awt.Flow
iOS 自定義日期和資料來源選擇控制元件
需求 App開發中經常會有日期選擇(如生日、睡眠定時等)或者省市區選擇等此類功能,通常UI中不會單獨使用UI中的控制元件,而是在UIPickerView的基礎上增加一個取消和確定按鈕 特點 支援常見的選擇型的資料格式 該控制元件集成了 yyyy-M
JAVA SWING 日期選擇控制元件(目前支援JLable和JTextField)
package com.monitor.date; import java.awt.BasicStroke; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; i
Android View 滾輪控制元件LoopView+自定義Dialog [時間地域選擇器] Picker
發現了一些好的東西: https://github.com/weidongjian/androidWheelView 曾經找到過 WheelView。當時江湖救急,直接用了。資料來源太大的話會導致效能降低。 當時有吐槽如果有使用自定義view或者繼承ListView
自定義 Java Annotation ,讀取註解值
sta tools stp exc num value mage test lang 1. 首先是自定義註解: Java代碼 package cn.veji.hibernate.po; import java.lang.annot
自定義 java 加載器
new dmi ESS class a length turn ngs 加密 list 先寫個java類的:allen.java import java.util.Date; import java.util.List; /** * 加載類 * @author Adm
c# 自定義事件傳參(控制元件資料同步更新)
下面是傳值的視窗程式碼 public partial class Form1 : Form {//自定義一個事件 public event EventHandler SetMsg; public Form1() {
Android自定義View--翻書控制元件(一)
0.前言 最近重看了一遍封神演義,感覺QQ閱讀那個翻書的效果挺好的,準備做一個。上週五下午用了兩個小時只寫了一部分功能,以後有時間再完善 1.分析 先看效果圖 這個空間,說簡單也簡單,說難也難,簡單就在於這個效果主要就是依賴canvas的clippath才見到部分canvas,難就難在裁
Silverlight自定義資料繫結控制元件應該如何處理IEditableObject和IEditableCollectionView物件
原文: Silverlight自定義資料繫結控制元件應該如何處理IEditableObject和IEditableCollectionView物件 原創文章,如需轉載,請註明出處。 最近在一直研究Silverlight下的資料繫結控制元件,發現有這樣兩個介面IEditableObject
自定義JAVA事件監聽機制
JAVA中的事件機制的參與者有3種角色:Event、EventSource、Listener 1.Event:就是事件產生時具體的“事件”,用於Listener的相應的方法之中,作為引數一般存在於Listener的方法之中。 2.EventSource:事件源,它的作用主要是對事件和監聽進行
WPF TabIndex預設樣式修改:去掉預設虛線框、自定義樣式(Button控制元件為例)
去掉Tab選中預設虛線框 Tab鍵切換時,被選控制元件自動存在虛線框,有時候為了介面美觀,這個虛線框就顯得比較麻煩。廢話不多說,下面是方法。 <Window.Resources> <Style x:Key="MeyFocusVisual" TargetType="{
Ext 6.5.3 classic版本,自定義實現togglefield開關控制元件
1,在Ext 6.5.3的classic版中沒有提供開關控制元件,參照modern版中 togglefield開關的實現,繼承滑動器(sliderfield),自定義一個開關按鈕。支援value繫結和點選切換狀態以及表單提交。 2,完成後效果如圖: 3, js程式碼如下:
C#GDI+自定義繪製曲線圖表控制元件DataChart 簡單實現 C#GDI+ 繪製線段(實線或虛線)、矩形、字串、圓、橢圓
C#GDI+自定義繪製曲線圖表控制元件DataChart 這裡只說明在計算刻度和曲線繪製的時候 只提供思路,只是做了下簡單的計算,不喜勿噴 還望見諒,高手直接飄過吧。這個要做好,還是需要研究研究演算法的,比如刻度隨著控制元件的大小發生改變的時候計算不同的值,根據刻度範圍來計算刻度以及刻度值等,這裡沒有研究,
Android自定義帶有聯動時間選擇器(年,月,日,周,十,分)備錄
概述: 在日常的android開發中經常會遇到關於時間選擇的操作開發,比如和賬單記錄有關的記賬類軟體,以及進行鬧鐘定時任務的定時類軟體扥等。實現時間選擇器往往都會用到android.widget包中的NumPicker控制元件。關於NumPick