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