【软件构造】实验三GUI可视化有关JSwing的使用小总结

【软件构造】实验三可视化JSwing的小总结

1.[JFrame]:
作用:JFrame是指一个计算机语言-java的GUI程序的基本思路是以JFrame为基础,它是屏幕上window的对象,能够最大化、最小化、关闭。

使用举例:

//创建并设置窗口
JFrame frame = new JFrame("test");
frame.setSize(400, 230);
frame.setVisible(true);	

运行结果:
在这里插入图片描述
2.[JPanel]:
作用:这个类似于 HTML 的 div 标签,可以创建多个面板并在 JFrame 中指定位置,面板中我们可以添加文本字段,按钮及其他组件。

使用举例:

JPanel panel = new JPanel();
frame.add(panel);

3.[JButton]:
作用:按钮组件,用来点击并执行操作,可添加在面板panel上。

使用举例:

//创建并加入面板
JButton check = new JButton("testJButton");
check.setBounds(230, 170, 210, 25);
panel.add(check);
//点击执行操作
check.addActionListener(new ActionListener() {			
	         @Override
	         public void actionPerformed(ActionEvent e) {
	        	 	//写入要执行的操作
	        	 	System.out.println("success!");
	         }
 });

运行结果:
在这里插入图片描述
点击按钮的输出:
在这里插入图片描述
4.[JTable]:
作用:JTable是一个表格组件,对JTable进行实例化时有多种方式

使用举例:

JFrame frame1 = new JFrame("ARRIVAL");
//定义第一行vName
Vector<String> vName = new Vector<>();
String[] columnsNames = new String[] {"Time", "Entry Number", "Origin", "", "Terminal", "State"};
for (String name : columnsNames)
	vName.add(name);
//定义传入JTable的参数
Vector<Vector<Object>> data1=new Vector<Vector<Object>>();
//添加从第二行开始要传入表格的对象vRow
Vector<Object> vRow = new Vector<>();
vRow.add("2020-06-07 00:00");
vRow.add("hit");
vRow.add("a");
vRow.add("-->");
vRow.add("b");
vRow.add("WAITING");
data1.add(vRow);
//传入参数并添加及生成表格
JTable table = new JTable(data1, vName);
JScrollPane jScrollPane = new JScrollPane();
jScrollPane.setViewportView(table);
frame1.setSize(800,600);
frame1.setLayout(new BorderLayout());
frame1.add(jScrollPane,BorderLayout.CENTER);
frame1.setVisible(true);

运行结果:
在这里插入图片描述更多的数据:
在这里插入图片描述5.[JLabel]:
作用:JLabel组件表示的是一个标签,本身是用于显示信息的。

使用举例:

JFrame frame = new JFrame("test");
frame.setSize(500, 250);
JPanel panel = new JPanel();
frame.add(panel);
panel.setLayout(null);
//新建标签并将其加入面板
JLabel name = new JLabel("username:");
name.setBounds(10, 20, 160, 25);
panel.add(name);
JLabel time = new JLabel("code:");
time.setBounds(10, 50, 80, 25);
panel.add(time);
frame.setVisible(true);	

运行结果:
在这里插入图片描述
6.[JTextField]:
作用:JTextField是一个轻量级组件,它允许编辑单行文本。可以用来读入用户输入。

使用举例:

JFrame frame = new JFrame("test");
frame.setSize(500, 250);
JPanel panel = new JPanel();
frame.add(panel);
panel.setLayout(null);
JLabel name = new JLabel("username:");
name.setBounds(10, 20, 160, 25);
panel.add(name);
//新建JTextField用于读取username并加入面板
JTextField newText1 = new JTextField(80);
newText1.setBounds(170, 20, 180, 25);
panel.add(newText1);        
JLabel time = new JLabel("code:");
time.setBounds(10, 50, 80, 25);
panel.add(time);
//新建JTextField用于读取code并加入面板
JTextField newText2 = new JTextField(80);
newText2.setBounds(170, 50, 180, 25);
panel.add(newText2);
JButton sure = new JButton("确定");
sure.setBounds(100, 140, 80, 25);
panel.add(sure);
sure.addActionListener(new ActionListener() {			
	         @Override
	         public void actionPerformed(ActionEvent e) {
	         	 //获取username和code
	        	 String a = newText1.getText();
	        	 String b = newText2.getText();
	        	 //打印输出
	        	 System.out.println(a);
	        	 System.out.println(b);	        	 
	         }
	    });
frame.setVisible(true);	

运行结果:
在这里插入图片描述
控制台输出:
在这里插入图片描述
7.[JTextArea]:
作用:实现一个文本域。

使用举例:

//创建新的JTextArea
JTextArea n = new JTextArea();
(planes!=null) {
        	for(int i = 0; i<planes.size(); i++)
            	n.append("{ 编号:"+planes.get(i).getNum()+",型号:"+planes.get(i).getName()+",座位数:"+planes.get(i).getNumofSeat()+",机龄:"+planes.get(i).getYear()+"}"+"\n");
}       
//添加滚动条
JScrollPane scroll = new JScrollPane(n);
scroll.setBounds(10, 210, 350, 200);
scroll.setVerticalScrollBarPolicy( 
        JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); 
panel.add(scroll);
}

运行结果:
橙色圈出部分即为JTextArea
在这里插入图片描述/***********************************************************************************/
以上即为软件构造实验三GUI可视化有关JSwing的使用小总结。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值