1. java,list遍歷賦值
|按照你的要求編寫的list遍歷賦值的Java程序如下
importjava.util.ArrayList;
importjava.util.List;
publicclassA{
publicstaticvoidmain(String[]args){
List<String>list=newArrayList<String>();
list.add("a|內b|c");
list.add("d|e|f");
List<String>Max=newArrayList<String>();
for(Strings:list){
Max.add(s.split("\|")[0]);
}
System.out.println(Max.get(0));
System.out.println(Max.get(1));
}
}
運行容結果
a
d
2. 如何樣給ListView控制項的Items填加下拉框
注意事項:1、XListView因為添加了Header,會導致存儲的數據+1,所以賦值時需要position-1。補充:當去掉HeaderView時,position不用-1。2、提個建議:上拉載入,最好在onCreate()中就執行setAdapter,然後不論是空數據、還是有數據,只用更新適配器就行了。一、XListView1、下載gitHub的地址。或者從這兒下。2、用法導入圖中的me.maxwin.view包提供了兩個介面:IXListViewListener:觸發下拉刷新,上拉載入。實現此介面時,onLoadMore()用來上拉載入,onRefresh()用來下拉刷新。OnXScrollListener:和原生的OnScrollListener一樣,但是在header/footer回滾時也會觸發。幾個常用方法:setPullRefreshEnable(booleanenable):是否允許下拉刷新setPullLoadEnable(booleanenable):是否允許上拉載入stopRefresh():停止刷新,重置headerviewstopLoadMore():停止載入,重置footerview請求到數據後停止刷新停止載入。setRefreshTime(Stringtime):設置上次刷新的時間onLoadMore():載入時調用的方法。注意第一次進入時不會調用此方法。onRefresh():下拉刷新時調用的方法。3、代碼中怎麼體現1)實現IXListViewListener介面->2)實現上拉刷新和下拉載入的數據變更->3)更新headerview和footerview,並設置更新時間。[java]viewplain//1、實現IXListViewListener介面mListView.setXListViewListener(this);//2.1onRefresh中實現下拉刷新的數據載入@OverridepublicvoidonRefresh(){//請求數據//更新界面顯示[java]viewplainonLoad();}//2.2onLoadMore中實現上拉載入的數據載入[java]viewplain@OverridepublicvoidonLoadMore(){//請求數據//更新界面顯示[java]viewplainonLoad();}//3、載入完數據後,復位headerview和footerview,並設置更新的時間。[java]viewplainprivatevoidonLoad(){mListView.stopRefresh();mListView.stopLoadMore();mListView.setRefreshTime("剛剛");}4、xml注意事項當將XListView嵌入到LinearLayout中時,XListView占滿全屏時不能再載入。上錯誤代碼:[java]viewplain5、去ScrollView共用這種情況,重寫XListView會導致上拉載入時頻繁的報錯:適配器未更新,不知道咋解決。二、PullToRefresh大部分內容轉自鴻洋的博客:這里寫上拉載入的任務newGetDataTask().execute();}});3、屬性介紹1)ptr:ptrMode="both"支持上拉載入和下拉刷新。disabled禁用下拉刷新和上拉載入。pullFromEnd僅支持上拉載入。manualOnly只允許手動觸發。當然通過代碼也可設置:lv.setMode(Mode.BOTH);2)ptr:trAnimationStyle="flip"flip:翻轉動畫;rotate:旋轉動畫。3)ptr:ptrDrawable="@drawable/ic_launcher"設置圖標4)刷新的時候,是否允許ListView或GridView滾動。覺得為true比較好。5)ptrListViewExtrasEnabled決定了Header,Footer以何種方式加入mPullRefreshListView,true為headView方式加入,就是滾動時刷新頭部會一起滾動。4、自定義下拉指示器文本內容等效果:在初始化完成PullToRefreshListView後,通過lv.getLoadingLayoutProxy()可得到一個ILoadingLayout對象,這個對象可設置各種指示器中的樣式、文本等。[java]=mPullRefreshListView.getLoadingLayoutProxy();startLabels.setPullLabel("你可勁拉,拉");//剛下拉時,顯示的提示startLabels.setRefreshingLabel("好嘞,正在刷新");//刷新時startLabels.setReleaseLabel("你敢放,我就敢刷新");//下來達到一定距離時,顯示的提示默認是上拉和下拉的字同時改變的,如果希望單獨改變呢:[java](){ILoadingLayoutstartLabels=mPullRefreshListView.getLoadingLayoutProxy(true,false);startLabels.setPullLabel("你可勁拉,拉");//剛下拉時,顯示的提示startLabels.setRefreshingLabel("好嘞,正在刷新");//刷新時startLabels.setReleaseLabel("你敢放,我就敢刷新");//下來達到一定距離時,顯示的提示ILoadingLayoutendLabels=mPullRefreshListView.getLoadingLayoutProxy(false,true);endLabels.setPullLabel("你可勁拉,拉2");//剛下拉時,顯示的提示endLabels.setRefreshingLabel("好嘞,正在刷新2");//刷新時endLabels.setReleaseLabel("你敢放,我就敢刷新2");//下來達到一定距離時,顯示的提示}
3. java如何獲取輸入框內容並賦值
簡單來講,輸入框,文本框,文本域等類型的組件,
獲取內容一般使用 getText();
賦值(設置文本)一般使用 setText("字元串");
參考代碼
JTextFieldjtf=newJTextField(8);//初始化輸入框,列數為8
//JTextFieldjtf=newJTextField("Hello",6);//初始化,並且內容為Hello,並且列數為6
jtf.setText("HelloWorld");//設置輸入框的值
System.out.println(jtf.getText());//獲取並輸出輸出框的值
這類問題,一般使用查看java API文檔來解決.
因為API文檔.有詳細的描述,關於類的方法. 常數.構造方法等
API中關於設置文本的方法描述
voidsetText(Stringt)
將此TextComponent文本設置為指定文本。
API中關於獲取文本的方法描述
StringgetText()
返回此TextComponent中包含的文本。
StringgetText(intoffs,
intlen)
獲取由組件表示的文本部分。
4. 用JAVA語言如何動態為類中欄位賦值
在java類中,對所有欄位使用get set方法,在其他類中使用這個類時,只需專要聲明這個類對象(比如User 類有name age欄位,在屬其他類中使用是User user = new User(); user.setName("名稱");就可以)user點就可以出現類中欄位,想用哪個就用哪個。
5. 用java編寫隨用戶輸入自動彈出下拉列表匹配項目,類似百度搜索
用ajax技術實現的具體例子如下
如下是實現的代碼,大家有需要的可以看下:
<script type="text/javascript">
var xmlHttp; //ajax初始化對象
var arrOptions = new Array(); //初始化數組元素
var currentValueSelected = -1;//表示當前選中的某項
//判斷輸入的字元是否超過5個
function querybylength(){
var woId = document.getElementById("woId").value;
if(woId.length>=5){
//判斷做什麼動作
var intKey = -1;
if(window.event){
intKey = event.keyCode;
}
//alert(intKey);
if(intKey == 38){//按向上鍵
//alert(currentValueSelected);
if(currentValueSelected != -1){ //保證當前有用到SPAN
MoveHighlight(-1);
return false;
}
}else if(intKey == 40){ //按向下鍵
if(currentValueSelected != -1){ //保證當前有用到SPAN
MoveHighlight(1);
return false;
}
}else {
ajaxTest(woId); //初始化SPAN
}
}else {
HideTheBox();
currentValueSelected = -1;
}
}
//AJAX查詢工單資料
function ajaxTest(name){
create();
if (xmlHttp==null){
alert ("您的瀏覽器不支持AJAX!");
return;
}
var url = "/spnewmes/servlet/QueryWOId?woId="+name;
xmlHttp.open("post",url,true);
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.send(null);
}
function create(){
if (window.XMLHttpRequest) {
this.xmlHttp = new XMLHttpRequest();
}else if (window.ActiveXObject) {
this.xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
function stateChanged(){ //運行它進行ajax調用
if (xmlHttp.readyState==4){
var msg = xmlHttp.responseText; //獲取返回值
arrOptions = msg.split(";");
//alert(arrOptions.length+":"+arrOptions);
if(arrOptions[0]!="")
Bulid(arrOptions); //給SPAN賦值
else
HideTheBox(); //隱藏SPAN
}
}
//創建並賦值span標簽
function creatSpan(){
var elemSpan = document.createElement("span");//在頁面創建span標簽
elemSpan.id = "spanOutput";
elemSpan.className = "spanTextDropdown";
document.body.appendChild(elemSpan); //將上面創建的elemSpan元素加入到BODY的尾部
}
function Bulid(arrOptions){ //給SPAN賦值
var inner="";
SetElementPosition();//設置下拉框出現的位置
for(var i=0; i < arrOptions.length; i++){
//alert(i+":"+arrOptions[i]);
inner+="<span id=arr_"+i+" class='spanNormalElement' onmouseover='SetHighColor(this)' onclick='SetText()'><font color=red>"+arrOptions[i]+"</font></span><br>";
}
document.getElementById("spanOutput").innerHTML = inner;
if(inner!=""){
//alert('init');
document.getElementById("arr_0").className ="spanHighElement";//設置第一個頂為默認選中
currentValueSelected=0;
}
}
function SetElementPosition(){ //設置下拉框出現的位置
var selectedPosX = 0;
var selectedPosY = 0;
var theElement = document.form1.woId;
if (!theElement) return;
var theElemHeight = theElement.offsetHeight;
var theElemWidth = theElement.offsetWidth;
while(theElement != null){
selectedPosX += theElement.offsetLeft;
selectedPosY += theElement.offsetTop;
theElement = theElement.offsetParent;
}
xPosElement = document.getElementById("spanOutput");
xPosElement.style.left = selectedPosX;
xPosElement.style.width = theElemWidth;
xPosElement.style.top = selectedPosY + theElemHeight
xPosElement.style.display = "block";
}
function HideTheBox(){//隱藏下拉框
document.getElementById("spanOutput").style.display = "none";
currentValueSelected = -1;
}
function SetHighColor(theTextBox){//當滑鼠劃過變為選中狀態
document.getElementById('arr_' + currentValueSelected).className ='spanNormalElement';
if(theTextBox){
currentValueSelected = theTextBox.id.slice(theTextBox.id.indexOf("_")+1, theTextBox.id.length);
}
//alert('SetHighColor:'+currentValueSelected);
document.getElementById('arr_'+currentValueSelected).className = 'spanHighElement';
}
function SetText(){//選中下拉框中的某個值
var theTextBox = document.form1.woId;
theTextBox.value = arrOptions[currentValueSelected];
document.getElementById("woId").value = theTextBox.value;
HideTheBox();
}
function MoveHighlight(xDir){//設置上下移動鍵
var currnum=parseInt(parseInt(currentValueSelected)+parseInt(xDir));
//alert('MoveHighlight:'+currentValueSelected+'+'+xDir+'='+currnum);
if(currnum >= 0 && currnum<arrOptions.length ){
document.getElementById("arr_"+currentValueSelected).className ="spanNormalElement";
document.getElementById("arr_"+currnum).className ="spanHighElement";
currentValueSelected=currnum;
}else if(currnum==arrOptions.length){
document.getElementById("arr_"+currentValueSelected+"").className ="spanNormalElement";
currentValueSelected=0;
document.getElementById("arr_"+currentValueSelected+"").className ="spanHighElement";
}else if(currnum==-1){
document.getElementById("arr_"+currentValueSelected+"").className ="spanNormalElement";
currentValueSelected=arrOptions.length-1;
document.getElementById("arr_"+currentValueSelected+"").className ="spanHighElement";
}
}
</script>
6. java下拉欄的動態關聯
級聯下拉菜單的實現。所謂級聯下拉菜單就是動態的下拉菜單,當第一級選中某一個選項是,第二級會跟著第一級的變化而變化,比如:當「學院」這一欄選擇「信息學院」那麼「專業」這一欄只會出現屬於信息學院的專業。級聯下拉菜單的實現是運用itemStateChanged(ItemEvent )方法實現,首先在下拉菜單上注冊ItemListener監視器,當下拉菜單選中時觸發itemStateChanged(ItemEvent )事件重新給下一級下拉菜單賦值。給你一段代碼看看,不懂得問我!
public void itemStateChanged(ItemEvent e) {
if(e.getSource() == xueyuan) { // 當點擊學院下拉框時
try {
Statement stat2 = con.createStatement();
String sql = "select D_ID from xueyuanin WHERE
D_NAME='"+e.getItem()+"'"; // 獲取該學院的代號
ResultSet rs = stat2.executeQuery(sql);
rs.next();
String s = rs.getString(1);
Statement stat3 = con.createStatement();
// 從資料庫中尋找該學院的所有專業
String sql3 = "select M_NAME from zhuanyein WHERE D_ID="+s+"";
ResultSet rs3 = stat3.executeQuery(sql3);
zhuanye.removeAllItems(); // 首先移除所有的專業選項
while(rs3.next()) {
zhuanye.addItem(rs3.getString(1)); // 再把篩選到的// 專業重新賦給專業下拉框
}
}catch (Exception ex) {
ex.printStackTrace();
}
}
if(e.getSource() == zhuanye) { // 當選中專業時
try {
Statement stat2 = con.createStatement();
// 獲取該專業的代號
String sql = "select M_ID from zhuanyein WHERE
M_NAME='"+e.getItem()+"'";
ResultSet rs = stat2.executeQuery(sql);
rs.next();
String s = rs.getString(1);
Statement stat3 = con.createStatement();
// 從資料庫中獲取屬於該專業的所有班級
String sql3 = "select C_NAME from banjiin WHERE
M_ID='"+s+"'";
ResultSet rs3 = stat3.executeQuery(sql3);
beizhu.removeAllItems(); // 首先移除已含班級
while(rs3.next()) {
beizhu.addItem(rs3.getString(1)); // 重新賦值
}
}catch (Exception ex) {
ex.printStackTrace();
}
}
}
7. java的swing中,我想在JComboBox下拉框中添加文本內容,該如何去實現
JComboBox 構造方法源碼
public JComboBox(E[] items) {
super();
setModel(new DefaultComboBoxModel<E>(items));
init();
}
創建對象賦值內 new JComboBox<類型容>(items);
有對象賦值 .setModel(new DefaultComboBoxModel<類型>(items));