如何用vector做一個物件容器並取得它的物件. |
答題得分者是:neoart
|
figo
初階會員 發表:47 回覆:70 積分:28 註冊:2004-12-18 發送簡訊給我 |
import java.util.*;
import java.io.*; import javax.swing.*; public class VectorDemo { public static void main(String[] args){ JFrame FF=new JFrame("Test How To User Vertor"); FF.setSize(400,400); FF.setLocation(200,200); // FF.setBounds(200, 200, 200, 300); FF.setVisible(true); Vector v = new Vector(4); for (int i=0;i JLabel F=new JLabel("F" i); F.setSize(200, 200); v.addElement(F); } Enumeration en=v.elements(); JLabel FFF=new JLabel("FFFFF"); while(en.hasMoreElements()) { FFF=(JLabel)en.nextElement(); FFF.setSize(50,50); FF.add(FFF); } } } 不能顯示jlabel的物件在jframe上.不知如何使用它.多謝 |
neoart
版主 發表:22 回覆:582 積分:425 註冊:2003-05-09 發送簡訊給我 |
==========================================
Enumeration en=v.elements(); JLabel FFF=new JLabel("FFFFF"); while(en.hasMoreElements()) { FFF=(JLabel)en.nextElement(); FFF.setSize(50,50); FF.add(FFF); } =========================================== 要改成 Enumeration en=v.elements(); while(en.hasMoreElements()) { JLabel FFF=(JLabel)en.nextElement(); FFF.setSize(50,50); FFF.setBound(.....);//你自己推 FF.add(FFF); } FF.repaint(); FF.validate(); =========================================== 另外,vector可以不用這麼麻煩 Vector vct=new Vector(); String xxx vct.add(xxx); ... ... for(int i=0;i ... ... } vct.getSize();很好用,你不用while( vct.next()) .... 去測試幾個元素再決定吧 順便送你一個常用的函數 toArray的用法 String strArry[]=vct.toArray(new String[0]); 只要是有預設建構式( 也就是 " new Class() "),就可以用 這類的toArray的方式直接轉成陣列,試一下吧 |
figo
初階會員 發表:47 回覆:70 積分:28 註冊:2004-12-18 發送簡訊給我 |
請問這樣的設定有無問題.vector能不能save jframe呢?
因為我想做一個connectionpool的,因為用到vector.同也下載你的connectionpool的源代碼 不是太了解vector的object的機制,所以想試下加一個jlabel可不可得出jlabel的物件和值. 剛加了. Enumeration en=v.elements(); int i=1; while(en.hasMoreElements()) { JLabel FFF=(JLabel)en.nextElement(); FFF.setSize(50,50); FFF.setBounds(50*i,50*i,50*i,50*i); FF.add(FFF); i =1; } FF.repaint(); FF.validate(); FF.setVisible(true); 都不能顯示出.由於剛學java沒多久.希望大大多多指點一下.多謝 |
neoart
版主 發表:22 回覆:582 積分:425 註冊:2003-05-09 發送簡訊給我 |
1.
sorry,我漏看了 你的JFrame並未設定layout manager 也就是... JFrame FF=new JFrame("Test How To User Vertor"); FF.getContentPane().setLayout(null); <<--------------這行 FF.setSize(400,400); FF.setLocation(200,200); -------------------這麼多個F FF FFF FFFFFFFFFF---你都不會看花,你真的比我強太多了,請受在下一拜----- 2. Vector & list & 眾多collection(集合類別)的用法都差不多,你會一個就其他都會了,別怕 3. Connection Pool...你是指database嗎?勸你直接用database公司提供的. ex: Oracle -- classes.zip MS. SQL server : msbase.jar ,msutil.jar ,mssqlserver.jar Postgresql :Postgresql -8.2dev-500.jdbc3.jar ... 有廠商公司出的,就用他們出的---比較有保證,出事,也可以有的推卸,對吧? |
figo
初階會員 發表:47 回覆:70 積分:28 註冊:2004-12-18 發送簡訊給我 |
<textarea class="java" rows="10" cols="60" name="code">import java.util.*;
import java.io.*;
import javax.swing.*;
public class VectorDemo {
private static int MaxObject = 10;
public static void main(String[] args){
JFrame FF=new JFrame("Test How To User Vertor");
//FF.getContentPane().setLayout(null);
FF.setSize(400,400);
FF.setLocation(200,200);
// FF.setBounds(200, 200, 200, 300);
Vector v = new Vector(MaxObject);
for (int i=0; i
多謝你的指點.我解決問題la.問在出現在 <textarea class="java" rows="10" cols="60" name="code">Vector v = new Vector(MaxObject); for (int i=0; i 看來要好好加強學習.多謝 neoart 的回答. |
neoart
版主 發表:22 回覆:582 積分:425 註冊:2003-05-09 發送簡訊給我 |
|
figo
初階會員 發表:47 回覆:70 積分:28 註冊:2004-12-18 發送簡訊給我 |
要加個判斷
<textarea class="java" rows="10" cols="60" name="code"> private static int MaxObject=10; ..... Vector v = new Vector(MaxObject); for (int i=0; i 多謝指點.以後會多加留意小節 但有個問題.如果用了v.size()做判斷,為什麼for不會執呢? 是否vector沒有初始化? 請neoart幫我分析一下.多謝 ===================引 用 neoart 文 章=================== .size() 函數指的是目前容器物件中的元素量,別搞錯了 想想,如果哪天元素量超過你的MaxObject的定數值的話,你要怎麼辦? |
neoart
版主 發表:22 回覆:582 積分:425 註冊:2003-05-09 發送簡訊給我 |
|
figo
初階會員 發表:47 回覆:70 積分:28 註冊:2004-12-18 發送簡訊給我 |
修改如下..應該不會超過vector.size().再次多謝你的指教
<textarea class="java" rows="10" cols="60" name="code"> import java.util.*; import java.io.*; import javax.swing.*; public class VectorDemo { //private static int MaxObject = 10; public static void main(String[] args){ JFrame FF=new JFrame("Test How To User Vertor"); FF.getContentPane().setLayout(null); FF.setSize(600,600); FF.setLocation(200,200); // FF.setBounds(200, 200, 200, 300); //Vector v = new Vector(MaxObject); Vector v = new Vector(); //for (int i=0; i |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |