第十八章 ----Swing程序设计

18.2 Swing常有窗体

18.2.1 JFrame窗体

例子:第一个窗体程序

 
  1. package shiba;

  2. import java.awt.Container;

  3. import javax.swing.JFrame;

  4. import javax.swing.JLabel;

  5. import javax.swing.SwingConstants;

  6. import javax.swing.WindowConstants;

  7. public class JFreamTest {

  8. public static void main(String[] args) {

  9. JFrame jf=new JFrame();

  10. jf.setTitle("创建一个JFrame窗体");

  11. Container container=jf.getContentPane();

  12. JLabel jl=new JLabel("这是一个JFreme窗体");

  13. jl.setHorizontalAlignment(SwingConstants.CENTER);

  14. container.add(jl);

  15. jf.setSize(300,150);

  16. jf.setLocation(320,240);

  17. jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

  18. jf.setVisible(true);

  19. }

  20. }

18.2.2 JDialog 对话框 

publicJDialog():创建一个没有标题和父窗体的对话框
publicJDialog(Frame f):创建一个没有标题,但指定父窗体的对话框。

 public JDialog(Frame f, boolean model): 创建一个没有标题,但指定父窗体和模式的对话框,如果model为true,那么弹出对话框后,用户无法操作父窗体。
publicJDialog(Framef;String title):创建一个指定标题和父窗体的对话框。团 publicJDialog(Framef, String title, boolean model):创建一个指定标题、父窗体和模式的对话框 

 例子:在窗体中弹出对话框

 
  1. package shiba;

  2. import java.awt.Container;

  3. import java.awt.event.ActionEvent;

  4. import java.awt.event.ActionListener;

  5. import javax.swing.JButton;

  6. import javax.swing.JDialog;

  7. import javax.swing.JFrame;

  8. import javax.swing.JLabel;

  9. import javax.swing.WindowConstants;

  10. class MyJDialog extends JDialog{

  11. public MyJDialog(MyFrame frame) {

  12. super(frame,"第一个JDialog窗体",true);

  13. Container container=getContentPane();

  14. container.add(new JLabel("这是一个对话框"));

  15. setBounds(120,120,100,100);

  16. }

  17. }

  18. public class MyFrame extends JFrame{

  19. public MyFrame() {

  20. Container container=getContentPane();

  21. container.setLayout(null);

  22. JButton bl=new JButton("弹出对话框");

  23. bl.setBounds(10,10,100,21);

  24. bl.addActionListener(new ActionListener() {

  25. public void actionPerformed(ActionEvent e) {

  26. MyJDialog dialog = new MyJDialog(MyFrame.this);

  27. dialog.setVisible(true);

  28. }

  29. });

  30. container.add(bl);

  31. setSize(200,200);

  32. setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

  33. setVisible(true);

  34. }

  35. public static void main(String[] args) {

  36. // TODO 自动生成的方法存根

  37. new MyFrame();

  38. }

  39. }

18.2.3  JOptionPane小型对话框

例子:弹出会话框,问用户准备好了吗?

例子: 弹出会话框,问用户是否离开?

例子:弹出会话框,让用户输入自己的名字

例子:弹出警告对话框

18.3 常用布局管理器 

开发 Swing 程序时,在容器中使用布局管理器能够设置窗体的布局,进而控制 Swing 组件的位置大小。Swing 常用的布局管理器为绝对布局管理器、流布局管理器、边界布局管理器和网格布局管理器

例子:

18.3.2 FlowLayout 流布局管理器

 public FlowLayout()。
public FlowLayout(int alignment).
public FlowLayout(int alignment,int horizGap,int vertGap)

 例子:使用流布局排序按钮

1 8.3.3 BorderLayout边界布局管理器

例子:使用边界布局排序按钮

 18.3.4 GridLayout 网格布局管理器

public GridLayout(int rows, int columns)
public GridLayout(int rows, int columns, int horizGap, int vertGap)。

例子:使用网格排序按钮


18.4 常用面板

在Swing 程序设计中,面板是一个容器,被用于容纳其他组件,但面板必须被添加到其他容器中Swing中常用的面板包括JPanel 面板和JScrollPane面板。

18.4.1 JPanel面板

例子:在一个窗体中显示4种布局风格

18.4.2 JScrollPane 滚动面板

例子:为窗体添加上下滚动条

18.5 文字标签组件与图标

在 Swing 程序设计中,标签(JLabel) 被用于显示文本、图标等内容。在 Swing 应用程序的用界面中,用户能够通过标签上的文本、图标等内容获得相应的提示信息。

 18.5.1 JLabel标签

 publicJLabel0:创建一个不带图标或文本的标签
 publicJLabel(Icon icon):创建一个带图标的标签。
 public JLabel(Icon icon,int aligment): 创建一个带图标的标签,并设置图标的水平对齐方式publicJLabel(String text,int aligment):创建一个带文本的标签,并设置文本的水平对齐方式

public JLabel(String text,Icon icon,int aligment): 创建一个带文本和图标的JLabel对象,并设置文本和图标的水平对齐方式。

例子:在窗体中显示文字标签

18.5.2 图标的使用

1.在Swing程序设计中,图标经常被添加到标签,按钮等组件,使用javax.swing.ImageIcon类可以依据现有的图片创建图标。

 例子:在窗体中演示图标

18.6 按钮组件

18.6.1.JButton 按钮

publieJButon():创建一个不带文本成图标的按钮。

publieJButton(Sting text()):创建一个带文本的按组
public JButon(con icon): 创建一个带图标的按钮。

publieJButon(String ext,lcon icon): 创建一个带文本和图标的按钮

例子:

18.6.2.JRadioButton 单选按钮

18.6.3.JCheckBox 复选框

复选框组件有JCheckBox对象表示,与单选不同的是,窗体中的复选框可以被选中多个,这是因为每一个都提供“被选择”和“不被选中”两种状态

18.7.列表组件

18.7.1.JComboBox 下拉列表框

初次使用Swing中的下拉列表框时,会感觉到Swing中的下拉列表框与Windows操作系统中的拉列表框有一些相似,实质上两者并不完全相同,因为 Swing中的下拉列表框不仅可以供用户从中择列表项,也提供编辑列表项的功能。

18.7.2.JList列表框

18.8文本组件


18.8.1.JTextField 文本框


JTextField 类的常用构造方法如下:

publicJTexiFied():创建一个文本未被指定的文本框。

publieJTextField(String text()):创建一个指定文本的文本框。

publicJTextField(int eldwidth):创建一个指定列宽的文本框。

publicJTextFicld(String text int fildwidth):创建一个指定文本和列宽的文本框
 

18.8.2.JPasswordField 密码框

18.8.3.JTextArea 文本域

18.9表格组件

创建表格

18.9事件监听器

ActionEvent动作事件

.KeyEvent 键盘事件

KevListener 接口共有 3个抽象方法,分别在发生击键事件(按下并放键)、按键被技下(手指技健但不松开)和按键被释放(手指从按下的键上松开)时被触发,具体如下,

public interface KeyListener extends EventListener (public void keyTyped(KeyEvent e);
11发生击键事件时被触发1/按键被按下时被触发1/按键被释放时被触发
public void keyPressed(KeyEvent e);public void keyReleased(KeyEvent e)

MouseEvent 鼠标事件

public interface MouseListener extends EventListener (
public void mouseEntered(MouseEvent e);
public void mousePressed(MouseEvent e):public void mouseReleased(MouseEvent e)
//光标移入组件时被触发//鼠标按键被按下时被触发/鼠标按键被释放时被触发//发生单击事件时被触发//光标移出组件时被触发
public void mouseClicked(MouseEvent e);
public void mouseExited(MouseEvent e):

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呆比

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值