JAVA圖形介面總結1
因為最近課設需要,所以就學習了一些,先總結一點
一.所要總結的知識點:
1.控制元件的正確擺放姿勢.
2. java圖形中常用的控制元件.
3.如何給JPanel,JLabel,JButton中新增背景圖片
4.列表選擇框JComboBox,JList
5.給面板或者控制元件設定炫酷邊框
二.逐一介紹:
1. java圖形中常用的控制元件
- 常用窗體:JFrame、JDialog。窗體好比一塊空白的畫布,你可以任意新增按鈕等元件到其中,也可以設定窗體的屬性(大小、邊界、排布等)。JFrame是一個主窗體,在一個專案中只能有一個。而JDialog 窗體是Swing元件中的對話方塊,它繼承了AWT元件中java.awt.Dialog類,彈出新窗體。有點像彈出對話方塊。
- 按鈕:JButton
- 標籤類:JLabel。JLabel 物件可以顯示文字、影象或同時顯示二者。可以通過設定垂直和水平對齊方式,指定標籤顯示區中標籤內容在何處對齊。
構造方法介紹:
JLabel() 建立無影象並且其標題為空字串的 JLabel。
JLabel(Icon image) 建立具有指定影象的 JLabel 例項。
JLabel(Icon image, int horizontalAlignment) 建立具有指定影象和水平對齊方式的 JLabel 例項。
JLabel(String text) 建立具有指定文字的 JLabel 例項。
JLabel(String text , Icon icon, int horizontalAlignment) 建立具有指定文字、影象和水平對齊方式的 JLabel 例項。
JLabel(String text, int horizontalAlignment) 建立具有指定文字和水平對齊方式的 JLabel 例項。
文字框和文字區框和密碼輸入框:JTextField和JTextArea和JPasswordField。
**一:JTextField的(文字框)使用:** JTextField 是一個輕量級元件,它允許編輯單行文字。 1.JTextField的常用構造方法: JTextField() 構造一個新的 TextField。 JTextField(int
列表選擇框:JComboBox,JList。JComboBox是下拉列表框,JList是將列表的資訊都顯示出來,也可以用 JScrollPane來將它設定為可滾動的模式.因為這兩個控制元件的方法都是相同的,這裡我只列出一個.
舉個JComboBox例子
String []yt = new String[12];
String yta = “號演出廳”;
for(int i = 0; i<12; i++)
{
String a = String.valueOf(i+1);
String b = a + yta;
yt[i] = b;
}
JComboBox jbox = new JComboBox(yt);
2.控制元件的正確擺放姿勢.
關於JavaGUI中控制元件的擺放有兩種方式,第一種是通過一些佈局的框架:如,流式佈局FlowLayout,表格佈局GridLayout,邊界BorderLayout。卡片佈局 CardLayout,這幾種佈局我在這不做介紹,具體可參考部落格
(http://blog.csdn.net/u012566693/article/details/44916069)
第二種方式是通過控制元件的絕對佈局,每一個控制元件都有setBounds(x, y, width, height)方法,其中x和y代表該控制元件在父控制元件的水平和豎直距離,後兩個分別代表該控制元件的寬和高.使用絕對佈局,你建立面板的時候必須將面板的佈局設定為空如,JPanel p = new JPanel(); p.setLayou(null);,因為面板的預設佈局為流式佈局,這樣你就不能使用絕對佈局.
我個人覺得擺放控制元件最簡單的方式就是用絕對佈局,這樣可以精準控制控制元件的位置.
3.如何給JPanel,JLabel,JButton中新增背景圖片
1:JPanel:先定義一個面板的類,然後通過構造方法來建立一個具體大小和背景圖片的面板.
import javax.swing.*;
import java.awt.*;
class GetPanel extends JPanel {
private static final long serialVersionUID = 1L;
int width = 0, hight = 0;
String imgpath = “”;
public GetPanel(int width, int hight, String file) {
this.width = width;
this.hight = hight;
imgpath = file;
}
protected void paintComponent(Graphics g) {
ImageIcon icon = new ImageIcon(imgpath);
Image img = icon.getImage();
g.drawImage(img, 0, 0, width, hight, this);
}
}JPanel p= new GetPanel(650,300,”/Ttms/image/12.png”);
p.setLayout(null);JLabel和JButton一樣:有兩種方式,第一種是在定義的時候設定背景圖,第二種是在定義之後設定,這裡只列出JLabel;
1:JLabel l = new JLabel(new ImageIcon(“/Ttms/image/5t.png”));
2:JLabel l = new JLabel();
l.setIcon(new ImageIcon(“/Ttms/image/5t.png”));