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

18.2 Swing常有窗体

18.2.1 JFrame窗体

例子:第一个窗体程序

package shiba;

import java.awt.Container;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import javax.swing.WindowConstants;

public class JFreamTest {

	public static void main(String[] args) {
		JFrame jf=new JFrame();
		jf.setTitle("创建一个JFrame窗体");
		Container container=jf.getContentPane();
		JLabel jl=new JLabel("这是一个JFreme窗体");
		jl.setHorizontalAlignment(SwingConstants.CENTER);
		container.add(jl);
		jf.setSize(300,150);
		jf.setLocation(320,240);
		jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
		jf.setVisible(true);
	}

}

 

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):创建一个指定标题、父窗体和模式的对话框 

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

package shiba;

import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.WindowConstants;

class MyJDialog extends JDialog{
	public MyJDialog(MyFrame frame) {
		super(frame,"第一个JDialog窗体",true);
	Container container=getContentPane();
	container.add(new JLabel("这是一个对话框"));
	setBounds(120,120,100,100);
  }
}
public class MyFrame extends JFrame{
	public MyFrame() {
		Container container=getContentPane();
		container.setLayout(null);
		JButton bl=new JButton("弹出对话框");
		bl.setBounds(10,10,100,21);
		bl.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				MyJDialog dialog = new MyJDialog(MyFrame.this);
				dialog.setVisible(true);
			}
		});
		container.add(bl);
		setSize(200,200);
		setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
		setVisible(true);
	}

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		new MyFrame();
	}

}

 

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):

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值