更新時(shí)間:2022-06-17 10:30:15 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1198次
動(dòng)力節(jié)點(diǎn)小編來(lái)告訴大家java swing入門(mén)教程的內(nèi)容。
大家要有myeclipse或eclipse,如沒(méi)有jar包請(qǐng)自行網(wǎng)上下載。
下面用簡(jiǎn)單的實(shí)例演示了Java Swing創(chuàng)建一個(gè)能輸入內(nèi)容的窗口
public class frameTest(){
public static void Main(String args[]){
//創(chuàng)建JFrame對(duì)象,JFrame用來(lái)在屏幕上顯示一個(gè)Windows窗口。
JFrame frame = new JFrame("第一個(gè)JFrame");
// 建立一個(gè)文本輸入域?qū)ο螅捎谖谋据斎胗蚴荍Component的子類,可以采用以
// 下方法定義。
JComponent comp = new JTextArea();
// 將上面建立的文本輸入域加入到frame對(duì)象
// 默認(rèn)情況下,frame的內(nèi)容面板(容器)采用BorderLayout布局,
// 這里是將文本輸入域放入BorderLayout布局的Center部位。
// 有關(guān)BorderLayout布局的內(nèi)容,請(qǐng)查閱
// http://gyfinjava.blog.com.cn/archives/2007/2161340.shtml
frame.getContentPane().add(comp, BorderLayout.CENTER);
// 設(shè)置其高度和寬度分別為:288像素和188像素
frame.setSize(288,188);
// 顯示該Frame
frame.setVisible(true);
}
}
//當(dāng)用戶選擇窗口的退出按鈕(窗口右上角的X),
//或選擇窗體功能菜單的推出項(xiàng)時(shí)的動(dòng)作
//下行代碼可以使單擊退出按鈕時(shí),退出該JFrame
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//下行代碼可以使JFrame的退出按鈕失效
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
創(chuàng)建沒(méi)無(wú)邊框的Frame(Window)
該實(shí)例演示了怎樣創(chuàng)建一個(gè)沒(méi)有邊框的Frame(Window)。如果要?jiǎng)?chuàng)建
不顯示邊框的Frame(Window),則推薦使用JWindow。
public class JWindowTest {
public static void main(String[] args){
//創(chuàng)建JWindows對(duì)象
JWindow window = new JWindow();
// 這里,一樣可以通過(guò)教程getContentPane().add()方法為該JWindow增加組件
//window.getContentPane().add(JComponent, BorderLayout.CENTER);
// 設(shè)置初始化大小
window.setSize(200, 200);
// 顯示該窗體
window.setVisible(true);
}
}
//建立文件選擇框?qū)ο?
JFileChooser fc=new JFileChooser();
//設(shè)定文件選擇框標(biāo)題
fc.setDialogTitle("Open class File");
//顯示文件選擇框,在選擇后將結(jié)果儲(chǔ)存到returnVal變量中
int returnVal = fc.showOpenDialog(app.getFrameInstance());
//如果用戶選擇了文件,并點(diǎn)擊了"Opne/打開(kāi)"按鈕,顯示用戶選擇的文件全名路徑,
//如果用戶點(diǎn)擊"Close/關(guān)閉"按鈕,以及其它方式退出文件選擇框,則什么也不做。
if (returnVal == JFileChooser.APPROVE_OPTION){
File file = fc.getSelectedFile();
System.out.println(file.getPath());
}
注意在文件選擇對(duì)話框中,可以進(jìn)行選擇目錄的操作,只需要用FileChooser對(duì)象的setFileSelectionMode()方法指定其選擇模 式為目錄選擇。見(jiàn)下面代碼
//上例中可以在文件對(duì)話框顯示語(yǔ)句前加上下面代碼,使對(duì)話框成為目錄選擇對(duì)話框
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
在文件選擇過(guò)程中,我們可以為文件選擇對(duì)話框設(shè)置過(guò)濾器,有了過(guò)濾器的對(duì)話框,會(huì)用下拉列表的方式將過(guò)濾的文件名特征顯示在"文件類型"組合框中,并將不 符合條件的文件名和目錄名過(guò)濾掉(不顯示)。
為一個(gè)文件選擇對(duì)話框設(shè)置過(guò)濾器需要定義過(guò)濾器類,見(jiàn)下例:
public class ClassFileFilter extends FileFilter{
public boolean accept(File f) {
String filename = f.getName();
return filename.endsWith(".class");
}
public String getDescription() {
return "*.class";
}
}
該類定義了一個(gè)過(guò)濾Java類文件"*.class"的過(guò)濾器。
將它增加到文件選擇對(duì)話框中,可以過(guò)濾出以.class為尾綴的文件。見(jiàn)下面代碼:
fc.addChoosableFileFilter(new ClassFileFilter());
針對(duì)一個(gè)對(duì)話框,我們可以為其加裝多個(gè)過(guò)濾器。這里有對(duì)過(guò)濾器更加詮釋的代碼:
public class ImageFilter extends FileFilter {
//Accept all directories and all gif, jpg, tiff, or png files.
public boolean accept(File f) {
if (f.isDirectory()) {
return true;
}
String extension = Utils.getExtension(f);
if (extension != null) {
if (extension.equals(Utils.tiff) ||
extension.equals(Utils.tif) ||
extension.equals(Utils.gif) ||
extension.equals(Utils.jpeg) ||
extension.equals(Utils.jpg) ||
extension.equals(Utils.png)) {
return true;
} else {
return false;
}
}
return false;
}
public String getDescription() {
return "Just Images";
}
}
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
public class Test01 {
public static void main(String[] args) {
//聲明列名數(shù)組
String[] columnNames = { "姓名", "性別", "年齡", "籍貫", "婚否" };
//聲明數(shù)據(jù)二維數(shù)組
Object[][] data = {
{ "趙剛", "男", new Integer(18), "北京", new Boolean(false) },
{ "錢(qián)霞", "女", new Integer(28), "北京", new Boolean(true) },
{ "孫大偉", "男", new Integer(32), "上海", new Boolean(false) },
{ "李民", "男", new Integer(30), "南京", new Boolean(true) },
{ "周麗麗", "女", new Integer(34),"重慶",new Boolean(false) } };
//創(chuàng)建JTable對(duì)象t
final JTable t = new JTable(data, columnNames);
//設(shè)置JTable對(duì)象的可視區(qū),超出部分會(huì)用下面的滾動(dòng)條來(lái)顯示
t.setPreferredScrollableViewportSize(new Dimension(400, 70));
//定義一個(gè)容器
JPanel p = new JPanel();
//在容器中加入表格和滾動(dòng)條
p.add(t);
JScrollPane s = new JScrollPane(t);
p.add(s);
//設(shè)置容器為透明的
p.setOpaque(true);
//以下代碼在前幾個(gè)Java Swing教程中已經(jīng)講過(guò),這里不重復(fù)!
JFrame f = new JFrame("JTable測(cè)試!");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.getContentPane().add(p,BorderLayout.CENTER);
f.pack();
f.setVisible(true);
}
}
以上就是關(guān)于“Java swing入門(mén)教程內(nèi)容”介紹,大家如果對(duì)此比較感興趣,想了解更多相關(guān)知識(shí),不妨來(lái)關(guān)注一下動(dòng)力節(jié)點(diǎn)的Java視頻教程,里面的課程內(nèi)容細(xì)致全面,通俗易懂,很適合沒(méi)有基礎(chǔ)的小白學(xué)習(xí),希望對(duì)大家能夠有所幫助。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)