




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第三章Swing界面設(shè)計(jì)課程目標(biāo)Swing簡(jiǎn)介Swing常用的控件(JButton、JLabel、JTextFiled、JComboBox)對(duì)話框(消息、警告、確認(rèn)、輸入對(duì)話框)文件選擇對(duì)話框課程定位swing簡(jiǎn)介Swing類Swing類是一組類,它提供比AWT標(biāo)準(zhǔn)組件更強(qiáng)大和更靈活的功能。除了我們已經(jīng)熟悉的組件如按鈕、復(fù)選框和標(biāo)簽外,Swing類還提供了許多新的組件,如選項(xiàng)卡窗格、滾動(dòng)窗格、樹(shù)、表格等。在詳細(xì)介紹Swing類之前我們先體會(huì)一下Swing類同AWT類的不同,我們先來(lái)運(yùn)行一下JDK中DEMO里的SwingSet2.jar,位于Java的JDK安裝目錄jdk1.5.0\demo\jfc\SwingSet2下。運(yùn)行后如圖所示:演示Swing類的層次結(jié)構(gòu)在javax.swing包中,定義了兩種類型的組件:頂層容器(JFrame,JApplet,JDialog和JWindow)和輕量級(jí)組件。Swing組件都是AWT中Container類的直接子類和間接子類。
java.awt.Component-java.awt.Container-java.awt.Window-java.awt.Frame-javax.swing.JFrame-javax.Dialog-javax.swing.JDialog-javax.swing.JWindow-java.awt.Applet-javax.swing.JApplet-javax.swing.Box-javax.swing.Jcomponet Javax.swing包是Swing提供的最大包,它包含將近100個(gè)類和25個(gè)接口,幾乎所有的Swing組件都在swing包中。Swing程序結(jié)構(gòu)Swing類的程序設(shè)計(jì)一般可按照下列流程來(lái)進(jìn)行:(1)引入Swing包(2)選擇“外觀和感覺(jué)”(3)設(shè)置頂層容器(4)設(shè)置按鈕和標(biāo)簽(5)向容器中添加組件(6)在組件周圍添加邊界(7)進(jìn)行事件處理流程JFrame與FrameJFrame是在Swing中經(jīng)常使用到的組件,大家可以把它看成是最底層的容器。這個(gè)容器里面可以裝載各種Swing的控件類(例如JLabel、JButton等等),也可以裝載其他的容器。至于如何擺放這些控件和容器,Swing的解決辦法和AWT是一樣的,都應(yīng)用了一套相同的版面管理器。由此可以看出Swing生成界面的方法與AWT生成界面的方法是大同小異的。JFrame類繼承了Frame類,所以JFrame的功能要比Frame的功能多得多。常用控件上一節(jié)中我們簡(jiǎn)單介紹了Swing的初步知識(shí),下面我們?cè)敿?xì)介紹Swing中的組件。 Swing中的常用組件如下表所示:組件類名稱功能JButton按鈕用來(lái)進(jìn)行點(diǎn)擊觸發(fā)事件,實(shí)現(xiàn)具體操作JLabel標(biāo)簽放置提示性的圖片或文字JTextField文本域支持單行文本輸入JTextArea文本區(qū)支持多行文本輸入JRadioButton單選框支持單項(xiàng)選擇JCheckbox復(fù)選框支持多項(xiàng)選擇JList列表框列出所有的選項(xiàng)進(jìn)行選擇JComboBox選擇框列出所有的選項(xiàng)進(jìn)行選擇,并且支持自定義選項(xiàng)按鈕(JButton)按鈕在窗體界面程序設(shè)計(jì)中是最常用的控件,Swing中提供以下的構(gòu)造函數(shù)來(lái)建立一個(gè)按鈕對(duì)象: JButton() 建立一個(gè)按鈕JButton(Iconicon) 建立一個(gè)有圖像的按鈕JButton(Stringtext) 建立一個(gè)有文字標(biāo)簽的按鈕JButton(Stringtext,Iconicon) 建立一個(gè)有圖像和文字的按鈕JButton常用的方法如下: addActionListener(ActionListenerI) 在按鈕上添加事件監(jiān)聽(tīng)器 grabFocus() 請(qǐng)求焦點(diǎn) setEnable(booleanb) 設(shè)置按鈕是否可用 setVisible(booleanb) 設(shè)置按鈕是否可見(jiàn)示例
importjava.awt.*; importjavax.swing.*; publicclassJButtonAppextendsJFrame{ Containercon=this.getContentPane();
JButtonbutton1=newJButton("按鈕一");
JButtonbutton2=newJButton("按鈕二");
JButtonbutton3=newJButton("按鈕三"); publicJButtonApp(){
super("JButton示例");
con.setLayout(new
FlowLayout()); button1.setEnabled(false); button2.setVisible(false); con.add(button1); con.add(button2); con.add(button3);
this.pack();
this.show(); } publicstaticvoidmain(String[]args){ newJButtonApp(); } }標(biāo)簽(JLabel)這個(gè)組件主要用來(lái)放置提示性的文本或圖形。以下是JLabel類的構(gòu)造函數(shù)和常用方法。構(gòu)造函數(shù):
JLabel() 建立一個(gè)空白的標(biāo)簽組件。 JLabel(Iconimage) 建立一個(gè)含有圖標(biāo)的標(biāo)簽組件,默認(rèn)排列方式為CENTER。 JLabel(Iconimage,inthorizontalAlignment) 建立一個(gè)含有圖標(biāo)的標(biāo)簽組件,并指定其排列方式。 JLabel(Stringtext) 建立一個(gè)含有文字的標(biāo)簽組件,默認(rèn)排列方式為L(zhǎng)EFT。 JLabel(Stringtext,inthorizontalAlignment) 建立一個(gè)含有文字的標(biāo)簽組件,并指定其排列方式。 JLabel(Stringtext,Iconicon,inthorizontalAlignment) 建立一個(gè)含有文字和圖標(biāo)的標(biāo)簽組件,并指定其排列方式。Jlabel的常用方法setHorizontalAlignment(intalignment) 設(shè)置標(biāo)簽內(nèi)文字或圖像的水平位置。setHorizontalTextPosition(inttextPosition) 設(shè)置標(biāo)簽內(nèi)文字相對(duì)于圖像的水平位置。setIcon(Iconicon) 設(shè)置標(biāo)簽內(nèi)的圖像。setIconTextGap(inticonTextGap) 設(shè)置標(biāo)簽內(nèi)文字與圖像的間距。setText(Stringtext) 設(shè)置標(biāo)簽內(nèi)的文字。setVerticalAlignment(intalignment) 設(shè)置標(biāo)簽內(nèi)文字或圖像的垂直位置。setVerticalTextPosition(inttextPosition) 設(shè)置標(biāo)簽內(nèi)文字相對(duì)于圖像的垂直位置。示例
importjava.awt.*; importjavax.swing.*; publicclassJLabelAppextendsJFrame{ Containercon=this.getContentPane();
JLabellabel1=newJLabel("第一個(gè)標(biāo)簽");
JLabellabel2=newJLabel("第二個(gè)標(biāo)簽");
JLabellabel3=newJLabel("第三個(gè)標(biāo)簽");
publicJLabelApp(){ super("JLabel示例");
con.setLayout(newGridLayout(1,3)); label1.setHorizontalAlignment(JLabel.RIGHT); label2.setVerticalAlignment(JLabel.BOTTOM); con.add(label1); con.add(label2); con.add(label3); this.setSize(300,200);
this.show(); } publicstaticvoidmain(String[]args){ newJLabelApp(); } }文本域(JTextField)JTextField是一種單行文本輸入組件。構(gòu)造函數(shù):JTextField() 建立一個(gè)文本域。JTextField(Documentdoc,Stringtext,intcolumns) 使用指定的文件存儲(chǔ)模式建立一個(gè)文本域,并且設(shè)置其 初始字符串和字段長(zhǎng)度。JTextField(intcolumns) 建立一個(gè)文本域,并設(shè)置其初始字段長(zhǎng)度。JTextField(Stringtext) 建立一個(gè)文本域,并設(shè)置其初始字符串。JTextField(Stringtext,intcolumns) 建立一個(gè)文本域,并設(shè)置其初始字符串和字段長(zhǎng)度。JTextField的常用方法setColumns(intcolumns) 設(shè)置文本域的字段長(zhǎng)度setEditable(booleanb) 設(shè)置文本域是否可編輯setFont(Fontfont) 設(shè)置文本域內(nèi)文本字體setText(Stringtext) 設(shè)置文本域的字符串JTextField示例
importjava.awt.*; importjavax.swing.*; publicclassJTextFieldAppextendsJFrame{ Containercon=this.getContentPane();
JTextFieldtextField1=newJTextField();
JTextFieldtextField2=newJTextField("第二個(gè)文本框");
JTextFieldtextField3=newJTextField("第三個(gè)文本框",10); publicJTextFieldApp(){
super("JTextField示例");
con.setLayout(new
FlowLayout()); textField1.setColumns(10); textField2.setEditable(false); con.add(textField1); con.add(textField2); con.add(textField3);
this.pack();
this.show(); } publicstaticvoidmain(String[]args){ newJTextFieldApp(); } }選擇框(JComboBox)JComboBox組件一般被稱為下拉式列表框,它可以讓用戶瀏覽一系列的選項(xiàng)并選出或自己輸入想要的值。JComboBox的構(gòu)造方法和常用的使用方法如下:構(gòu)造方法: JComboBox() 建立一個(gè)新的JComboBox組件 JComboBox(ComboBoxModelaModel) 利用ComboBoxModel建立一個(gè)新的JComboBox組件 JComboBox(Object[]items) 利用Array數(shù)組對(duì)象建立一個(gè)新的JComboBox組件 JComboBox(Vectoritems) 利用Vector矢量集對(duì)象建立一個(gè)新的JComboBox組件JComboBox常用的方法: voidaddItem(Objectobj) 將對(duì)象obj添加到下拉列表框顯示的項(xiàng)目中。intgetItemCount() 返回下拉列表框的項(xiàng)目的總數(shù)。ObjectgetSelectedItem() 返回當(dāng)前選中的項(xiàng)目。voidremoveAllItems() 移除下拉列表框中所有的項(xiàng)目。voidremoveItemAt(intindex) 移除項(xiàng)目索引值為index的項(xiàng)目。voidsetEditable(booleanb) 設(shè)置下拉列表框是否可編輯。voidsetSelectedIndex(intindex) 設(shè)置索引值為index的項(xiàng)目的狀態(tài)為已選中。示例
importjava.awt.*; importjavax.swing.*; publicclassJComboBoxAppextendsJFrame{
JComboBoxyearBox1=newJComboBox();
JComboBoxyearBox2=newJComboBox();
JComboBoxmonthBox1=newJComboBox();
JComboBoxmonthBox2=newJComboBox();
JPanelpanel=newJPanel();
JLabel
startDate=newJLabel("開(kāi)始日期");
JLabel
endDate=newJLabel("終止日期");
publicJComboBoxApp(){
super("JComboBox示例");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel.add(startDate);
for(inti=2000;i<=2008;i++) yearBox1.addItem(i+"");
for(inti=1;i<31;i++) monthBox1.addItem(i+""); panel.add(yearBox1); panel.add(monthBox1);
panel.add(endDate);
for(inti=2000;i<=2008;i++) yearBox2.addItem(i+"");
for(inti=1;i<31;i++) monthBox2.addItem(i+""); panel.add(yearBox2); panel.add(monthBox2); this.setSize(180,110);
this.setContentPane(panel);
this.show(); } publicstaticvoidmain(String
args[]){ newJComboBoxApp(); } }對(duì)話框在Windows平臺(tái)下用MessageBox來(lái)實(shí)現(xiàn)和用戶的交互功能,在JAVA中也有同樣的類來(lái)實(shí)現(xiàn)這樣的功能,利用Swing中提供的JOptionPane類。四個(gè)標(biāo)準(zhǔn)對(duì)話框如下:MessageDialog(消息對(duì)話框) 用來(lái)顯示信息給用戶。ConfirmDialog(確認(rèn)對(duì)話框) 提出問(wèn)題,然后由用戶自己來(lái) 確認(rèn)(按"Yes"或"No"按鈕)InputDialog(輸入對(duì)話框) 提示輸入文本。OptionDialog(選項(xiàng)對(duì)話框) 組合其它三個(gè)對(duì)話框類型。消息對(duì)話框消息對(duì)話框是一個(gè)簡(jiǎn)單的顯示消息的窗口,只是給用戶提供提示信息。如圖所示消息對(duì)話框:消息對(duì)話框可以通過(guò)調(diào)用JOptionPane類的showMessageDialog(Compont,Object)方法來(lái)創(chuàng)建,參數(shù)是父組件和字符串(或者組件、顯示的圖標(biāo))。如以下語(yǔ)句創(chuàng)建一個(gè)顯示簡(jiǎn)單字符的消息對(duì)話框: JOptionPane.showMessagDialog(null,”WelcomeToQinghuaIT…”);還可以使用showMessageDialog(Component,Object,String,int)方法來(lái)創(chuàng)建一個(gè)顯示警告消息的對(duì)話框,可以自己設(shè)置想要顯示的消息對(duì)話框的標(biāo)題。用法同showInputDialog()方法,參數(shù)相同但無(wú)返回值。如以下語(yǔ)句創(chuàng)建一個(gè)消息輸入對(duì)話框: JOptionPane.showMessagDialog(null,”文件被刪除”,”刪除警告”,JOptionPane.WARNING_MESSAGE);確認(rèn)對(duì)話框創(chuàng)建確認(rèn)對(duì)話框的最簡(jiǎn)單方法就是調(diào)用showConfirmDialog(Component,Object)方法,參數(shù)意義同消息對(duì)話框中的參數(shù)相同。 不同的是該方法返回一個(gè)整數(shù),JOptionPane的三個(gè)屬性:YES_OPTIONNO_OPTIONCANCEL_OPTION示例
importjava.awt.*; importjavax.swing.*; importjava.awt.event.*; importjava.util.EventListener; publicclassMessageDialogAppextendsJFrameimplementsActionListener{ JButtonbutton1=newJButton("顯示消息對(duì)話框一"); JButtonbutton2=newJButton("顯示消息對(duì)話框二"); publicMessageDialogApp(){ super("MessageDialog示例"); this.setLayout(newFlowLayout()); button1.addActionListener(this);
button2.addActionListener(this); this.add(button1); this.add(button2); this.setSize(180,160);
this.show(); } publicstaticvoidmain(String
args[]){ newMessageDialogApp(); } publicvoidactionPerformed(ActionEvente){
if(e.getSource()==button1){
JOptionPane.showMessageDialog(null,"WelcomeToQinghuaIT..."); }
if(e.getSource()==button2){
JOptionPane.showMessageDialog(null,"出現(xiàn)錯(cuò)誤", "錯(cuò)誤警告",JOptionPane.WARNING_MESSAGE); } } }輸入對(duì)話框輸入對(duì)話框提出一個(gè)問(wèn)題,并使用文本域來(lái)存儲(chǔ)響應(yīng)。創(chuàng)建輸入對(duì)話框的最簡(jiǎn)單方法就是調(diào)用showInoutDialog(ComponertObject)方法,參數(shù)和消息對(duì)話框中的參數(shù)相同。調(diào)用輸入對(duì)話框方法返回一個(gè)表示用戶響應(yīng)的字符串。如以下語(yǔ)句創(chuàng)建了一個(gè)簡(jiǎn)單的輸入對(duì)話框:
StringinputText=IOptionPane.showInputDialog(null,“請(qǐng)輸入你的姓名:”);示例
importjava.awt.*; importjavax.swing.*; importjava.awt.event.*; importjava.awt.event.ActionListener; importjava.util.EventListener; publicclassInputDialogAppextendsJFrameimplementsActionListener{
JButtonbutton1=newJButton("輸入你的姓名");
JLabellabel=newJLabel("你的姓名是:"); publicInputDialogApp(){
super("InputDialog示例");
this.setLayout(new
FlowLayout()); button1.addActionListener(this); this.add(button1);
this.add(label); this.setSize(200,120);
this.show(); } publicstaticvoidmain(String
args[]){ newInputDialogApp(); } publicvoidactionPerformed(ActionEvente){
if(e.getSource()==button1){ StringinputText=JOptionPane.showInputDialog(this,"你的姓名是:");
this.label.setText("你的姓名是:"+inputText); } } }對(duì)話框的應(yīng)用對(duì)話框就是用來(lái)和用戶進(jìn)行交互的,不同的對(duì)話框,代表著與用戶交互的不同方式。添加代碼片段就可以實(shí)現(xiàn)和用戶交互,從而大大的豐富了程序的適用性。比如做個(gè)類似的備忘程序,在某一時(shí)間提醒用戶進(jìn)行某一操作,就可以用上面講到的對(duì)話框來(lái)實(shí)現(xiàn)。文件選擇對(duì)話框文件選擇對(duì)話框“JFileChooser”用來(lái)引用文件到程序中進(jìn)行查看、修改等其他操作,“JFileChooser”內(nèi)建有“打開(kāi)”,“存儲(chǔ)”兩種對(duì)話框,也可以自己定義其他種類的對(duì)話框。 JFileChooser有六個(gè)構(gòu)造函數(shù)來(lái)生成JFilerChooser對(duì)象,常用的有兩個(gè): JFileChooser() 構(gòu)造一個(gè)指向用戶默認(rèn)目錄的JFileChooser。JFileChooser(FilecurrentDirectory) 使用給定的File作為路徑來(lái)構(gòu)造一個(gè)JFileChooser。JFileChooser常用的方法showOpenDialog(Componentparent)彈出一個(gè)"OpenFile"文件選擇器對(duì)話框。showSaveDialog(Componentparent)彈出一個(gè)"SaveFile"文件選擇器對(duì)話框。getCurrentDirectory() 返回當(dāng)前目錄。getName(Filef) 返回文件名。getSelectedFile() 返回選中的文件。setFileFilter(FileFilterfilter) 設(shè)置當(dāng)前文件過(guò)濾器。setFileSelectionMode(intmode) 設(shè)置JFileChooser,以允許用戶只選擇文件、 只選擇目錄,或者可選擇文件和目錄isMultiSelectionEnabled() 如果可以選擇多個(gè)文件,則返回true。isTraversable(Filef) 如果可以返回該文件(目錄),則返回true。setDialogType(intdialogType) 設(shè)置此對(duì)話框的類型。setDialogTitle(Stringtitle)設(shè)置顯示在JFileChooser窗口標(biāo)題欄的字符串。JFileChooser常用的字段OPEN_DIALOG:指示JFileChooser支持“Open”文件操作的類型值SAVE_DIALOG:指示JFileChooser支持“Save”文件操作的類型值FILES_ONLY: 指示僅顯示文件DIRECTORIES_ONLY: 指示僅顯示目錄FILES_AND_DIRECTORIES: 指示顯示文件和目錄下面的語(yǔ)句可以彈出一個(gè)針對(duì)用戶主目錄的打開(kāi)文件選擇器,并設(shè)置文件過(guò)濾器使只顯示目錄中的.jpg格式和.gjf格式的圖像文件。
示例
JFileChooserchooser=newJFileChooser();
ExampleFileFilterfilter=newExampleFileFilter();
filter.addExtension("jpg");
filter.addExtension("gif");
filter.setDescription("JPG&GIFImages");
chooser.setFileFilter(filter);
chooser.setDialogType(JFileChooser.OPEN_DIALOG);
int
returnVal=chooser.showOpenDialog(parent);
if(returnVal==JFileChooser.APPROVE_OPTION) {
System.out.println("Youchosetoopenthisfile:"+
chooser.getSelectedFile().getName()); }//ExampleFileFilter類是JDK內(nèi)的例子,在demo/jfc目錄下,請(qǐng)自己參考。本章總結(jié)SwingSwing常用的控件(JButton、JLabel、JTextFiled、JComboBox)對(duì)話框(消息、警告、確認(rèn)、輸入對(duì)話框)文件選擇對(duì)話框動(dòng)手實(shí)踐:圖片瀏覽器圖形處理的應(yīng)用圖片瀏覽器目標(biāo)使用FileChooser文件選擇對(duì)話框選擇圖片目錄,將目錄下的圖片文件名在選擇框中顯示當(dāng)選擇不同的文件名時(shí),窗體中將顯示出對(duì)應(yīng)的圖片,以實(shí)現(xiàn)圖片瀏覽的功能。本程序啟動(dòng)后,出現(xiàn)圖片瀏覽器的窗體界面,運(yùn)行效果如所示:目標(biāo)點(diǎn)擊“請(qǐng)選擇目錄”按鈕,彈出“打開(kāi)”文件對(duì)話框此處我們選擇一個(gè)有圖片的目錄,點(diǎn)擊“打開(kāi)”按鈕。如果此目錄下存在“jpg”或者“gif”格式的圖片,則窗體正中會(huì)出現(xiàn)一幅圖片。運(yùn)行效果如圖所示:選擇下拉框中此時(shí)會(huì)出現(xiàn)所有此目錄下的jpg和gif格式的圖片名字,再選擇不同的文件名字就可以瀏覽該目錄下的圖片了。方法(1)用戶可以選擇或輸入圖片目錄,目錄中的圖片名加入到JComboBox里。(2)用戶選擇下拉框里的文件名后,可以在窗體的面板上顯示該圖片。(1)建立面板類顯示圖片(1)首先我們要做一個(gè)繼承JPanel的面板類,用來(lái)在該面板居中繪制顯示圖片。參考代碼如下:
importjavax.swing.*; importjava.awt.*; classPicPanelextendsJPanel{
ImageIconimage;
int
startX; //圖片在該JPanel中繪制的起始點(diǎn)
int
startY;
int
imageH; //圖像寬和高
int
imageW; publicPicPanel(){ image=null; } publicvoidsetImg(ImageIcon
img){
this.image=img; }
publicvoidpaint(Graphicsg){
super.paint(g);//這句會(huì)防止繪圖面板出現(xiàn)當(dāng)前圖形
if(this.image!=null){
imageH=this.image.getIconHeight();
imageW=this.image.getIconWidth();
startX=this.getWidth()/2-imageW/2;
startY=this.getHeight()/2-imageH/2;
g.drawImage(this.image.getImage(),startX,startY,this);//使得圖片居中顯示
} } }(2)總體界面設(shè)計(jì)(2)有了繪圖面板之后,下面我們?cè)O(shè)計(jì)窗體,在窗體中添加一個(gè)JPanel存放JButton、JLabel以及JComboBox、我們?cè)O(shè)計(jì)的繪圖面板PicPanel、還有一個(gè)JFileChooser(文件選擇對(duì)話框)。自定義兩個(gè)全局變量filePath和fileName用來(lái)存放文件的目錄和名字,設(shè)置布局及窗體的大小,并添加按鈕事件和ComboBox的Item事件。代碼importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.io.*;importjava.awt.event.ActionListener;importjava.util.EventListener;importjava.awt.event.ItemListener;publicclassImageViewerextendsJFrameimplementsActionListener,ItemListener{
JFileChooserchooser=newJFileChooser();
JButton
chooseButton=newJButton("請(qǐng)選擇目錄");
JComboBox
chooseComboBox=newJComboBox();
JLabellabel=newJLabel("選擇目錄中的文件:");
JLabel
picLabel=newJLabel();
PicPanel
picPanel=newPicPanel();
JPanel
choosePanel=newJPanel();//放按鈕,標(biāo)簽,下拉框面板
StringfilePath; //選擇的文件所在的目錄
StringfileName; //選擇的文件名字
publicImageViewer(){ super("圖片瀏覽器");
this.setLayout(new
BorderLayout());
this.add(picPanel,BorderLayout.CENTER); //設(shè)置只允許選擇目錄
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
choosePanel.setLayout(new
FlowLayout());
chooseButton.addActionListener(this); //注冊(cè)按鈕事件
choosePanel.add(chooseButton);
choosePanel.add(label); chooseComboBox.setSize(16,10);
chooseComboBox.addItemListener(this); //注冊(cè)Item事件
choosePanel.add(chooseComboBox);
this.add(choosePanel,BorderLayout.SOUTH); this.setSize(400,300);
this.show(); }
publicvoidactionPerformed(ActionEvente){ //……按鈕事件,彈出文件選擇對(duì)話框,并記錄選擇的目錄路徑
}publicvoiditemStateChanged(ItemEvente){ //……Item事件,修改繪圖面板PicPanel中的ImageIcon并重繪該面板
} publicstaticvoidmain(String
args[]){ newImageViewer(); }}(3)建立文件列表(3)在實(shí)現(xiàn)事件方法之前我們要用到一個(gè)方法,即:用來(lái)根據(jù)文件路徑來(lái)讀取該目錄下的所有文件名,并循環(huán)作為Item添加到我們的JComboBox中去。實(shí)現(xiàn)根據(jù)文件后綴名來(lái)對(duì)文件進(jìn)行篩選。參考代碼如下:
publicvoidreadFileDirs(String
file
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高中化學(xué)實(shí)驗(yàn)教學(xué)的創(chuàng)新與實(shí)踐
- 初中生暑期安全主題班會(huì)教學(xué)設(shè)計(jì)
- 2024年質(zhì)量工程師考試及時(shí)提升與知識(shí)點(diǎn)梳理試題及答案
- 培養(yǎng)習(xí)慣電氣工程師資格證書(shū)考試試題及答案
- 物聯(lián)網(wǎng)與智慧交通結(jié)合試題及答案
- 企業(yè)級(jí)醫(yī)療信息化系統(tǒng)的規(guī)劃與實(shí)施
- 辦公自動(dòng)化中的透明度提升策略研究
- 2025年中國(guó)工字紐扣數(shù)據(jù)監(jiān)測(cè)報(bào)告
- 2024年焊接工程師考試考前提醒與總結(jié)試題及答案
- 機(jī)械工程師資格證書(shū)考試常見(jiàn)作題思路分析試題及答案
- 2024年AI大模型產(chǎn)業(yè)發(fā)展與應(yīng)用研究報(bào)告
- Agent視域下的人工智能賦能作戰(zhàn)系統(tǒng)
- 泌尿外科護(hù)理新進(jìn)展
- 環(huán)衛(wèi)保潔服務(wù)應(yīng)急預(yù)案
- 2025年廣東佛山市高三一模高考政治試卷試題(含答案詳解)
- 二年級(jí)下冊(cè)道德與法治第8課《安全地玩》說(shuō)課稿說(shuō)課稿(第一課時(shí))
- DBJ33T 1271-2022 建筑施工高處作業(yè)吊籃安全技術(shù)規(guī)程
- 基本藥物制度政策培訓(xùn)課件
- 一年級(jí)口算練習(xí)題-100以內(nèi)無(wú)進(jìn)退位
- 創(chuàng)新創(chuàng)業(yè)基礎(chǔ)知到智慧樹(shù)章節(jié)測(cè)試課后答案2024年秋哈爾濱理工大學(xué)
- 2024-2030年中國(guó)纖維素酶市場(chǎng)未來(lái)發(fā)展趨勢(shì)及前景調(diào)研分析報(bào)告
評(píng)論
0/150
提交評(píng)論