【软件构造】实验三可视化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的使用小总结。