首頁 > 軟體

Java有趣好玩的圖形介面開發八個案例實現

2022-05-17 10:00:30

雖然GUI技術沒有很大的市場,甚至很多初學者放棄學習GUI,但是學習GUI程式設計的過程對於提高程式設計興趣,深入理解Java程式設計有很大的作用。效果圖如下,加油吧!!

1.核取方塊和單選框按鈕組

—在框架視窗中加入核取方塊和單選框按鈕組

import javax.swing.*;
public class App extends JFrame{
    static JFrame jFrame=new JFrame("核取方塊和單選組按鈕選取框");
    static JCheckBox jCheckBox1=new JCheckBox("粗體",true);
    static JCheckBox jCheckBox2=new JCheckBox("斜體");
    static JCheckBox jCheckBox3=new JCheckBox("下劃線");
    static JRadioButton jRadioButton1=new JRadioButton("紅色",true);
    static JRadioButton jRadioButton2=new JRadioButton("綠色",true);
    static JRadioButton jRadioButton3=new JRadioButton("藍色");
    public static void main(String[] args) {
        ButtonGroup buttonGroup=new ButtonGroup();
        jFrame.setLocation(200,150);
        jFrame.setSize(300,220);
        jFrame.setLayout(null);
        jCheckBox1.setBounds(20,20,50,20);
        jCheckBox2.setBounds(20,40,50,20);
        jCheckBox3.setBounds(20,60,70,20);
        jRadioButton1.setBounds(40,100,50,20);
        jRadioButton2.setBounds(40,120,50,20);
        jRadioButton3.setBounds(40,140,50,20);
        jFrame.add(jCheckBox1);
        jFrame.add(jCheckBox2);
        jFrame.add(jCheckBox3);
        buttonGroup.add(jRadioButton1);
        buttonGroup.add(jRadioButton2);
        buttonGroup.add(jRadioButton3);
        jFrame.add(jRadioButton1);
        jFrame.add(jRadioButton2);
        jFrame.add(jRadioButton3);
        jFrame.setDefaultCloseOperation(EXIT_ON_CLOSE);
        jFrame.setVisible(true);
    }
}

2.文字編輯元件和捲動窗格

—設定文字編輯元件和捲動窗格

import javax.swing.*;
public class App extends JFrame{
    JTextField jTextField=new JTextField("該文字方塊不可編輯",30);
    static JPasswordField jPasswordField=new JPasswordField("HelloWorld",30);
    public App(String str){
        super(str);
        jTextField.setBounds(20,40,140,20);
        jTextField.setEditable(false);
        add(jTextField);
    }
    public static void main(String[] args) {
        App jFrame=new App("文字編輯功能視窗");
        JTextArea jTextArea=new JTextArea("你好",10,30);
        JScrollPane jScrollPane=new JScrollPane(jTextArea);
        jFrame.setLocation(200,150);
        jFrame.setSize(240,220);
        jFrame.setLayout(null);
        jScrollPane.setBounds(20,70,160,100);
        jPasswordField.setBounds(20,10,140,10);
        jFrame.add(jPasswordField);
        jFrame.add(jScrollPane);
        char[] passWorld=jPasswordField.getPassword();
        String str=new String(passWorld);
        System.out.println("密碼是:"+passWorld+"轉換後"+str);
        jFrame.setVisible(true);
        jFrame.setResizable(false);
        jFrame.setDefaultCloseOperation(EXIT_ON_CLOSE);
    }
}

輸出結果:密碼是:[C@370736d9轉換後HelloWorld

3.多個索引標籤設定

—在視窗中放一個索引標籤窗格,並在索引標籤窗格中加入若干索引標籤,每個索引標籤中放置一個帶影象的標籤元件。

import javax.swing.*;
public class App extends JFrame {
    public App(){
        JLabel[] jLabels=new JLabel[6];
        Icon pic;
        String title;
        for(int i=1;i<=5;i++){
            pic=new ImageIcon("images\t"+i+".png");
            jLabels[i]=new JLabel();
            jLabels[i].setIcon(pic);
            title="第"+i+"頁";
            jTabbedPane.add(title,jLabels[i]);
        }
        this.add(jTabbedPane);
    }
    JTabbedPane jTabbedPane=new JTabbedPane(JTabbedPane.TOP);
    public static void main(String[] args) {
        App jFrame=new App();
        jFrame.setTitle("索引標籤的應用");
        jFrame.setSize(300,300);
        jFrame.setDefaultCloseOperation(EXIT_ON_CLOSE);
        jFrame.setVisible(true);
    }
}

4.在框架視窗中加入面板

import javax.swing.*;
import javax.swing.border.TitledBorder;
public class App {
    public static void main(String[] args) {
        JFrame jFrame=new JFrame("我的框架");
        jFrame.setSize(210,180);
        jFrame.setLocation(500,400);
        JPanel jPanel=new JPanel();
        jPanel.setSize(120,90);
        jPanel.setLocation(40,30);
        JButton jButton=new JButton("點選我");
        jButton.setSize(80,20);
        jButton.setLocation(20,30);
        jFrame.setLayout(null);
        jPanel.setLayout(null);
        jPanel.add(jButton);
        jPanel.setBorder(new TitledBorder("面板區"));
        jFrame.add(jPanel);
        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        jFrame.setVisible(true);
    }
}

5.在視窗中加入標籤

—在視窗中加入標籤,並設定框架的背景色及標籤上文字的顏色和字型。

import javax.swing.*;
import java.awt.*;
public class App {
 public static void main(String[] args) {
  JFrame jFrame=new JFrame("標籤類視窗");
  JLabel jLabel=new JLabel("我是一個標籤",JLabel.CENTER);//建立標籤類物件
  jFrame.setLayout(null);//取消預設佈局管理器
  jFrame.setSize(300,200);//設定視窗的大小
  Container c=jFrame.getContentPane();//獲取內容窗格
  c.setBackground(Color.CYAN);//設定視窗的背景色
  jLabel.setOpaque(true);//設定標籤為不透明
  jLabel.setBackground(Color.RED);//設定標籤的背景色
  jLabel.setForeground(Color.YELLOW);//設定標籤的前景色
  jLabel.setLocation(80,60);
  jLabel.setSize(130,30);
  Font font=new Font("楷體",Font.PLAIN,20);//建立字型物件
  jLabel.setFont(font);//設定標籤上的字型
  jFrame.add(jLabel);
  jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
  jFrame.setVisible(true);
 }
}

6.框架中加入指定大小的標籤

—在框架中加入指定大小的標籤,並設定當滑鼠懸停在標籤上時給出相應的提示資訊。

import javax.swing.*;
import java.awt.*;
public class App {
 public static void main(String[] args) {
  JFrame jFrame=new JFrame("標籤類視窗");
  JLabel jLabel=new JLabel("我是一個標籤",JLabel.CENTER);//建立標籤類物件
  jFrame.setLayout(null);//取消預設佈局管理器
  jFrame.setSize(300,200);//設定視窗的大小
  Container c=jFrame.getContentPane();//獲取內容窗格
  c.setBackground(Color.CYAN);//設定視窗的背景色
  jLabel.setOpaque(true);//設定標籤為不透明
  jLabel.setBackground(Color.RED);//設定標籤的背景色
  jLabel.setForeground(Color.YELLOW);//設定標籤的前景色
  jLabel.setLocation(80,60);
  jLabel.setSize(130,30);
  jLabel.setToolTipText("我被設定為不透明");
  Font font=new Font("楷體",Font.PLAIN,20);//建立字型物件
  jLabel.setFont(font);//設定標籤上的字型
  jFrame.add(jLabel);
  jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
  jFrame.setVisible(true);
 }
}

7.在框架視窗中加入按鈕

import javax.swing.*;
import java.awt.*;
public class App extends JFrame {
 public static void main(String[] args) {
  App jFrame=new App();
  jFrame.setDefaultCloseOperation(EXIT_ON_CLOSE);
  ImageIcon icon=new ImageIcon("images\java.png");
  JButton jButton=new JButton();
  jButton.setText("選擇");
  jButton.setIcon(icon);
  jFrame.setLayout(null);
  jFrame.setSize(200,180);
  jFrame.setTitle("按鈕類視窗");
  jButton.setBounds(50,45,100,40);
  jButton.setToolTipText("我是按鈕");
  jFrame.add(jButton);
  jFrame.setVisible(true);
 }
}

8.框架視窗的建立

import javax.swing.*;
import java.awt.*;
public class App {
    static JFrame jFrame = new JFrame("這是一個Swing程式");//建立靜態框架並設定標題
    public static void main(String[] args) {
        JLabel label = new JLabel("我是一個標籤");//建立一個標籤物件
        jFrame.setSize(400, 300);//設定框架的大小
        Image image=(new ImageIcon("images\java.jpg")).getImage();//建立圖示物件
        jFrame.setIconImage(image);//設定視窗的顯示圖示
        jFrame.setLocationRelativeTo(null);//設定視窗的位置
        jFrame.add(label);//將標籤物件加入到視窗中
        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//單擊視窗的關閉按鈕,結束程式
        jFrame.setVisible(true);//設定視窗可見
    }
}

總結

  • 圖形化使用者介面是應用程式與使用者互動的視窗,利用它可以接受使用者的輸入並向用戶輸出程式執行的結果。
  • 圖形化使用者介面技術(GUI)是指用圖形的方式,藉助選單,按鈕等標準介面元素與滑鼠操作,幫助使用者方便的向計算機系統發出指令,啟動操作,並將計算機系統執行的結果以圖形的方式顯示給使用者的技術。
  • Java提供了兩個處理圖形介面的包:java.awt和javax.swing。其中javax.swing包是java.awt的擴充套件。
  • Javax.swing包中包含元件類,事件類,介面,佈局類,選單類等,其繼承關係如下:

少年沒有烏托邦,心向遠方自明朗。與風隨行皆理想,遺憾最終皆幻想。

到此這篇關於Java有趣好玩的圖形介面開發八個案例實現的文章就介紹到這了,更多相關Java圖形介面內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com