資源描述:
《6_第六章swing用戶界面組件》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、●圖形編程●AWT事件處理機(jī)制●Swing用戶界面組件圖形用戶界面●布局管理器●文本輸入(JTextField,JTextArea)●選擇組件(JCheckBox,JRadioButton,JComboBox,JSlider,JSpinner)●菜單(JMenuBar,JMenu,JMenuItem)●對(duì)話框(JOptionPane,JFileChooser,JColorChooser,JDialog)第六章Swing用戶界面組件●布局管理器●BorderLayout●將容器劃分為東、南、西、北、中●
2、最多放置5個(gè)組件;可以使用面板放置更多組件;若組件少于5個(gè),空閑的位置被相鄰區(qū)域占用;每個(gè)組件將填充相應(yīng)的區(qū)域?!馢Frame的默認(rèn)布局例:BorderLayoutTest.javaNorthSouthWestEastCenter●布局管理器●FlowLayout●組件在一行上水平排列,當(dāng)沒(méi)有空間時(shí)就開(kāi)始新的一行(從左到右,從上到下依次排列);可以設(shè)定組件在一行上的對(duì)齊方式;容器發(fā)生變化時(shí),組件大小不變(組件按照最佳大小顯示)●JPanel的默認(rèn)布局●使用setLayout為容器設(shè)置布局管理器例:Fl
3、owLayoutTest.java●GridLayout●將容器劃分成若干行列的網(wǎng)格,每個(gè)網(wǎng)格大小相同,組件從左到右,從上到下依次排列;每個(gè)組件將填充相應(yīng)的區(qū)域例:GridLayoutTest.java●布局管理器●不使用布局管理器●使用方法(1)將布局管理器設(shè)為null;(2)添加組件到容器;(3)指定組件需要的位置和大小(setBounds)setLayout(null);JButtonok=newJButton(”ok”);add(ok);ok.setBounds(10,10,30,15);//
4、左上角的位置,寬度,高度●文本輸入●JTextField●用于單行文本輸入●常用方法setText();getText();setEditable();setColumns()JTextFieldt=newJTextField(20);//列數(shù)是設(shè)置首選大小的一個(gè)提示,布局管理器可能會(huì)調(diào)整文本域的大小,用戶可以輸入更長(zhǎng)的字符串;初始值為空;JTextFieldt=newJTextField(“Defaultinput”,20);//”Defaultinput”是初始值XXXX.add(t);//添加到
5、某個(gè)容器●文本輸入●用于多行文本輸入●常用方法setLineWrap();setColumns();setRows();append();insert();getText();setText();…●如果需要滾動(dòng)條,則將文本區(qū)添加到滾動(dòng)窗格中,然后將滾動(dòng)窗格添加到某個(gè)容器中●JTextAreaJTextAreatextArea=newJTextArea(8,40);//指定行數(shù)和列數(shù),這些數(shù)值是首選大小,布局管理器會(huì)對(duì)其縮放JScrollPanescrollPane=newJScrollPane(te
6、xtArea);//增加滾動(dòng)窗格XXXX.add(scrollPane);//將滾動(dòng)窗格添加到某個(gè)容器中●文本輸入●JLabel●用來(lái)容納文本,常用于識(shí)別其他的組件●有多種構(gòu)造方法,可以指定文本或圖標(biāo),以及內(nèi)容的對(duì)齊方式例:TextTest.java(JTextField,JTextArea,JLabel)JLabellabel=newJLabel(“輸入”);//顯示文字“輸入”JLabellabel=newJLabel(“輸入”,JLabel.LEFT);//左對(duì)齊JLabellabel=newJ
7、Label("輸入",newImageIcon("yellow-ball.gif"),JLabel.LEFT);//圖標(biāo)label.setText(“新內(nèi)容”);//設(shè)置標(biāo)簽文本label.setIcon(newImageIcon(“yellow-ball.gif”));//設(shè)置圖標(biāo)●選擇組件●JCheckBox(復(fù)選框)●常用方法isSelected();setSelected(boolean)●當(dāng)用戶點(diǎn)擊復(fù)選框時(shí)會(huì)觸發(fā)一個(gè)ActionEvent,可為復(fù)選框設(shè)置動(dòng)作監(jiān)聽(tīng)器JCheckBoxbold=
8、newJCheckBox(“Bold”);//”Bold”為顯示在復(fù)選框之后的文本JCheckBoxbold=newJCheckBox(“Bold”,true);//true代表復(fù)選框的初始狀態(tài)為被選定bold.addActionListener(…);//設(shè)置動(dòng)作監(jiān)聽(tīng)器例:CheckBoxTest.javaActionListenerlistener=newActionListener(){publicvoidactionPerformed(Actio