java swing編程入門代碼編寫(java編程入門)
Swing編程基本流程
第一步: 取得主窗體
JFrame jf = new JFrame("Demo1");
第二步:獲得主窗體的容器
Container c = jf.getContentPane();
第三步:設(shè)置容器布局
c.setLayout(new FlowLayout(FlowLayout.LEFT,20,20));
第四步:添加組件及設(shè)置組件屬性
JLabel label1 = new JLabel("Hello World!");
JLabel label2 = new JLabel("Bye World!");
label1.setBackground(Color.BLUE);
label1.setOpaque(true);
第五步:設(shè)置窗體屬性,關(guān)閉主窗體,退出程序
jf.setSize(200, 100); //設(shè)置主窗體大小
jf.setVisible(true);
jf.setResizable(false);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//設(shè)置窗體關(guān)閉時,退出程序
另:
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);也可使用以下代碼代替
jf.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
super.windowClosing(e);
System.exit(0);
}
});
3.個人的一點學習心得:
*學習Swing,做出簡單的小軟件,并不困難,想要做的好看,就需要對布局有較深的研究!
*使用Swing的一個用處:Swing雖然已經(jīng)有些過時了,但可以做些小工具,輔助工作等,也可以自娛自樂。個人對電腦圖形界面挺感興趣。
*Swing組件使用一些設(shè)計模式,是挺值得研究一下,對編程挺要用處!
*學習東西貴在堅持,很多工具包都是類似的,對一種有所精深,其他亦能觸類旁通!
4.附一個在Youtobe視頻中學習到的一個Swing程序:
package com.ting723.www;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Demo10XOGame extends JFrame{
JPanel jp = new JPanel();
public Demo10XOGame() {
Container c = this.getContentPane();
c.add(jp);
jp.setLayout(new GridLayout(3, 3));
for (int i = 0; i < 9; i++) {
XOButton jb = new XOButton();
jp.add(jb);
}
this.setSize(500, 500);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
this.setVisible(true);
}
public static void main(String[] args) {
new Demo10XOGame();
}
}
class XOButton extends JButton implements ActionListener {
private ImageIcon X, O;
byte value = 0;
public XOButton() {
X = new ImageIcon(this.getClass().getResource("x.png"));
O = new ImageIcon(this.getClass().getResource("o.png"));
this.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
value++;
value %= 3;
switch (value) {
case 0:
setIcon(null);
break;
case 1:
setIcon(X);
break;
case 2:
setIcon(O);
}
}
}
- Java Swing中的文本區(qū)(JTextArea)實現(xiàn)換行保存到文件的幾個方法
- Java文件選擇對話框JFileChooser使用詳解
- Java Swing中的文本框(JTextField)與文本區(qū)(JTextArea)使用實例
- Java Swing中的表格(JTable)和樹(JTree)組件使用實例
- java swing中實現(xiàn)拖拽功能示例
- java swing標準對話框具體實現(xiàn)
- java之swing下拉菜單實現(xiàn)方法
- Java Swing 非常漂亮外觀Nimbus的使用方法實例
- Java圖形用戶界面設(shè)計(Swing)的介紹
- Java Swing組件文件選擇器JFileChooser簡單用法示例
相關(guān)文章
解決SpringBoot整合MybatisPlus分模塊管理遇到的bug
這篇文章主要介紹了解決SpringBoot整合MybatisPlus分模塊管理遇到的bug,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07Java讀取json數(shù)據(jù)并存入數(shù)據(jù)庫的操作代碼
很多朋友問大佬們JAVA怎么把json存入數(shù)據(jù)庫啊,這一問題就把我難倒了,糾結(jié)如何操作呢,下面小編把我的經(jīng)驗分享給大家,感興趣的朋友一起看看吧2021-08-08java中HashMap.values()轉(zhuǎn)為ArrayList()問題
這篇文章主要介紹了java中HashMap.values()轉(zhuǎn)為ArrayList()問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03基于Spring接口集成Caffeine+Redis兩級緩存
這篇文章主要介紹了基于Spring接口集成Caffeine+Redis兩級緩存,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-07-07IDEA中使用Docker Compose容器編排的實現(xiàn)
這篇文章主要介紹了IDEA中使用Docker Compose容器編排的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-07-07Spring Boot項目添加外部Jar包以及配置多數(shù)據(jù)源的完整步驟
這篇文章主要給大家介紹了關(guān)于Spring Boot項目添加外部Jar包以及配置多數(shù)據(jù)源的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2020-06-06