1、JLabel 標簽 構造函數: JLabel() JLabel(String text) JLabel(String text,int align) //第二個參數設置文本的對齊方式,常量,比如SwingConstants.LEFT/RIGHT。 JLabel(Icon image) //顯示圖 ...
1、JLabel 標簽
構造函數:
- JLabel()
- JLabel(String text)
- JLabel(String text,int align) //第二個參數設置文本的對齊方式,常量,比如SwingConstants.LEFT/RIGHT。
- JLabel(Icon image) //顯示圖片
- JLabel(Icon image,int align)
- JLabel(String text,Icon image,int align) //同時顯示文字、圖片
常用方法:
- set/getText()
- set/getIcon()
2、JButton 按鈕
構造函數:
- JButton()
- JButton(String text)
- JButton(Icon image)
- JButton(String text,Icon image)
3、JRadioButton 單選按鈕
構造函數:
- JRadioButton()
- JRadioButton(String text) //文本
- JRadioButton(String text,boolean selected) //第二個參數指定是否預設選中
- JRadioButton(Icon image) //圖片
- JRadioButton(Icon image,boolean selected)
- JRadioButton(String text,Icon image) //文本+圖片
- JRadioButton(String text,Icon image,boolean selected)
常用方法:
- getText()
- isSelected()
- setSelected(boolean selected) //設置是否選中
- setSelectedIcon(Icon image) //設置選中時的圖標
4、JCheckBox 覆選框
JCheckBox的構造函數、常用方法和JRadioButton的完全一樣,只是把JRadioButton換為JCheckBox。
5、ButtonGroup 按鈕組
ButtonGroup group=new ButtonGroup(); //ButtonGroup是Swing的一個類,不帶首碼J,並不是組件,不能被添加到某個容器中
group.add(btn1); //ButtonGroup只是邏輯上的一個容器,表示一組按鈕,並非實際的UI容器,所以還是要在實際的UI容器中添加按鈕
group.add(btn2);
.....
container.add(btn1);
container.add(btn2);
.....
ButtonGroup可以添加普通按鈕/單選按鈕/覆選框,將一組單選按鈕放在ButtonGroup中,則這組單選按鈕最多只能有一個被選中。
ButtonGroup的常用方法:
- clearSelection() //清除選中狀態
判斷選中項:
1 Enumeration<AbstractButton> btns=group.getElements(); //獲取這組所有的按鈕 2 while (btns.hasMoreElements()) { 3 AbstractButton btn = btns.nextElement(); 4 if(btn.isSelected()){ 5 //....... 6 } 7 }
普通按鈕、單選按鈕、覆選框都是AbstractButton的實現類。
CheckboxGroup和GroupButton的使用方式相似,CheckboxGroup只能組合一組覆選框,放入CheckboxGroup後這組覆選框只能選擇一個。
6、JTextField 單行文本框
構造函數:
- TextField()
- TextField(String text) //預設文本
- TextField(int columns) //指定列數(文本框的寬度),註意setSize()對TextField無效
- TextField(String text,int columns)
常用方法:
- set/getText()
- set/getColumns()
7、JPassword
8、JTextArea 多行文本域
構造函數:
- TextArea()
- TextArea(String text) //預設文本
- TextArea(int rows,int columns) //行數、列數,TextArea的尺寸由行數、列數決定,setSize()對TextArea無效
- TextArea(String text,int rows,int columns)
- TextArea(String text,int rows,int columns,int scrollbar) //最後一個參數指定滾動條,TextArea類的常量,
可用的值:
- TextArea.SCROLLBARS_HORIZONTAL_ONLY //只使用水平滾動條
- TextArea.SCROLLBARS_VERTICAL_ONLY //只使用豎直滾動條
- TextArea.SCROLLBARS_BOTH //同時使用水平、豎直滾動條
- TextArea.SCROLLBARS_NONE //不使用滾動條
前3個,需要的時候才出現滾動條。
使用水平滾動條:第一行達到邊界時,會出現水平滾動條,繼續往右,不會自動換行,只能手動換行。
不使用水平滾動條:達到邊界時,會自動換行,轉到下一行開頭。
9、Choice 下拉列表 這個是AWT的組件,Swing中沒有對應的
1 Choice choice=new Choice(); 2 choice.add("第一項"); //添加一項 3 choice.addItem("第二項"); //這2種方式的效果相同
Choice可添加某些特殊的事件監聽,比如 ItemListener。
10、JPanel 中間容器
構造函數:
- JPanel()
- JPanel(LayoutManager layout) //佈局管理器
- JPanel(boolean isDoubleBuffered) //是否使用雙緩衝
- JPanel(LayoutManager layout,boolean isDoubleBuffered)
雙緩衝:重繪界面/圖像時,界面/圖像會閃爍,使用雙緩衝可解決閃爍問題。
Swing的組件預設使用雙緩衝,AWT的組件只能自己寫代碼實現雙緩衝。
11、JScrollBar 滑動條 可作為滾動條、滑塊,比如調節音量、進度
構造函數:
- JScrollBar()
- JScrollBar(int orientation) //滑動條的方向,常量,可能的值:Adjustable.HORIZONTAL 水平滑動條,Adjustable.VERTICAL 垂直滑動條
- JScrollBar(int orientation,int value,int extent,int min,int max) //滑動條方向,預設值,滑塊大小,滑動條的最小值,滑動條的最大值
常用方法:
- getValue() //獲取當前值
- setValue(int value) //設置當前值
使用示例:
1 JScrollBar scrollbar=new JScrollBar(Adjustable.HORIZONTAL,50,100,0,500); 2 scrollbar.setPreferredSize(new Dimension(500,10)); //必須設置JScrollBar的大小,不然效果不對 3 panel.add(scrollbar); //添加到容器中
12、JScrollPane 自帶滾動條的容器
構造函數:
- JScrollPane()
- JScrollPane(Component view) //將一個組件放置到JScrollPane中,一般是將內容放到一個Container中,再將這個Container作為view放到JScrollPane中
- JScrollPane(int vsbPolicy,int hsbPolicy) //設置垂直、水平滾動條,可選的值均為常量。vsb即Vertical ScrollBar,hsb即Horizontal ScrollBar。
- JScrollPane(Component view,int vsbPolicy,int hsbPolicy)
vsbPolicy可選的值:
-
ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS //顯示垂直滾動條
-
ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER //不顯示
-
ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED //需要時才顯示
hsbPolicy可選的值:
-
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS
-
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER
-
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED
使用示例:
1 JTextArea area=new JTextArea(5,50); 2 JScrollPane pane=new JScrollPane(area,ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);