Първа програма в Java Swing

Писане на код за изобразяване на прозорец

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import javax.swing.JFrame;
 
 
public class Simple extends JFrame {
 
    public Simple() {
 
        setSize(300, 200);
        setTitle("Simple");
        setDefaultCloseOperation(EXIT_ON_CLOSE);
   }
 
    public static void main(String[] args) {
 
        Simple simple = new Simple();
        simple.setVisible(true);
 
    } 
}
1
import javax.swing.JFrame;

Тук вмъкваме JFrame джаджа от пакета на swing.

1
2
 setSize(300, 200);
 setTitle("Simple");

В този код задаваме на прозореца размери ,
300 на 200 , както и задаваме име на прозореца Sample .

1
setDefaultCloseOperation(EXIT_ON_CLOSE);

Този метод, ще затвори прозореца при натискане на изходния бутон X

По дефаут , прозореца се появява в горния ляв край .
Този код , ще позиционира прозореца в центъра.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import java.awt.Dimension;
import java.awt.Toolkit;
 
import javax.swing.JFrame;
 
public class CenterOnScreen extends JFrame {
 
    public CenterOnScreen() {
 
        setSize(300, 200);
        setTitle("CenterOnScreen");
        setDefaultCloseOperation(EXIT_ON_CLOSE);
 
        Toolkit toolkit = getToolkit();
        Dimension size = toolkit.getScreenSize();
        setLocation(size.width/2 - getWidth()/2, 
		size.height/2 - getHeight()/2);
    }
 
    public static void main(String[] args) {
 
        CenterOnScreen cos = new CenterOnScreen();
        cos.setVisible(true);
 
    }
}

Използваме клас от инструменти.

1
2
Toolkit toolkit = getToolkit();
 Dimension size = toolkit.getScreenSize();
1
2
3
 setLocation(
size.width/2 - getWidth()/2, size.height/2 - getHeight()/2
);

За да поставим прозореца на екрана,
задаваме setLocation() метод.

Бутони

В този пример , ще направим два бутона ,
първия ще издаде звук, а втория,
ще затвори прозореца

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
 
 
public class Buttons extends JFrame {
 
    private Toolkit toolkit;
 
    public Buttons() {
 
        setTitle("Buttons");
        setSize(300, 200);
 
        toolkit = getToolkit();
        Dimension size = toolkit.getScreenSize();
        setLocation((size.width - getWidth())/2, 
        (size.height - getHeight())/2);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
 
        JPanel panel = new JPanel();
        getContentPane().add(panel);
 
	panel.setLayout(null);
 
        JButton beep = new JButton("Beep");
        beep.setBounds(150, 60, 80, 30);
        beep.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent event) {
                toolkit.beep();
            }
        });
 
       JButton close = new JButton("Close");
       close.setBounds(50, 60, 80, 30);
       close.addActionListener(new ActionListener() {
           public void actionPerformed(ActionEvent event) {
               System.exit(0);
          }
       });
 
        panel.add(beep);
        panel.add(close);
 
    }
 
    public static void main(String[] args) {
 
        Buttons buttons = new Buttons();
        buttons.setVisible(true);
 
    }
}

В този пример, ще видим две нови изображения.

1
2
 JPanel panel = new JPanel();
 getContentPane().add(panel);

Създаваме JPanel . Добавяме JPanel в JFrame.

1
 panel.setLayout(null);

По дефаут JPanel има FlowLayout мениджър.
Структурата мениджър е използван за поставяне на приспособления върху контейнерите.
Ако извикаме setLayout(null) можем да позиционираме нашия компонент апсолютно.
За това използваме setBounds() метод.

1
2
3
4
5
6
7
 JButton beep = new JButton("Beep");
 beep.setBounds(150, 60, 80, 30);
 beep.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent event) {
         toolkit.beep();
     }
 });

Тук създаваме бутон.
Позиционираме го като извикваме метода setBounds() .
След това добавяме action listener.
action listener е за когато изпълняваме действие с бутона.
В нашия случай е при клик на бутона, ще издаде звук.

1
 System.exit(0);

Close бутона ще затвори прозореца.
За това ние извикваме метода System.exit() .

1
2
 panel.add(beep);
 panel.add(close);

В този пример, когато мишката попадне на бутон той показва съобщение.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import java.awt.Dimension;
import java.awt.Toolkit;
 
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
 
 
public class Tooltip extends JFrame {
 
    private Toolkit toolkit;
 
    public Tooltip() {
 
        setTitle("Tooltip");
        setSize(300, 200);
 
        toolkit = getToolkit();
        Dimension size = toolkit.getScreenSize();
        setLocation((size.width - getWidth())/2,
        (size.height - getHeight())/2);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
 
        JPanel panel = new JPanel();
        getContentPane().add(panel);
 
        panel.setLayout(null);
        panel.setToolTipText("A Panel container");
 
        JButton button = new JButton("Button");
        button.setBounds(100, 60, 80, 30);
        button.setToolTipText("A button component");
 
        panel.add(button);
 
    }
 
    public static void main(String[] args) {
 
        Tooltip tooltip = new Tooltip();
        tooltip.setVisible(true);
 
    }
}

В примера слагаме фрейм на tooltip .

1
2
 
 panel.setToolTipText("A Panel container");

За да включим tooltip, извикваме метода setTooltipText() .

Popularity: 1% [?]

No related posts.

Related posts brought to you by Yet Another Related Posts Plugin.

You can leave a response, or trackback from your own site.

Leave a Reply

Задвижван с помощта на WordPress | Compare Cell Phone Plans at iCellPhonePlans.com | Thanks to Cheap Palm Pixi, Bromoney and Wordpress Themes