《Java程序设计》(六)图形用户界面程序设计-知识点训练卷 2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》第36卷

2025-09-07
| 2份
| 31页
| 79人阅读
| 0人下载

内容正文:

编写说明:2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》,依据吉林省高职分类(对口招生)考试各类专业综合卷考试科目及纲要(2021版),种信息工程类(电子与信息类)专业综合卷考试科目及纲要编写。本专辑共150份试卷两部分组成,第一部分是按考纲的考点要求编写的120份知识点训练卷,第二部分是针对6门课程的掌握要求,编写的30份常考题训练卷。 本试卷是吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》的第36卷,是知识点训练卷。按“Java程序设计”考试纲要(六)图形用户界面程序设计的四点知识点要求编写,其四点要求是: 1.理解Swing中的JFrame容器、JPanel容器的应用。 2.掌握标签组件、按钮组件、文本框组件、密码框组件、复选框组件、单选按钮组件的创建和使用方法。 3.掌握常用布局管理器FlowLayout、BorderLayout、GridLayout、GridBagLayout的使用。 4.了解事件、事件源、事件监听器,理解ActionEvent、KeyEvent、MouseEvent事件的处理。 2026版吉林省《信息工程类(电子与信息类)考纲百套卷》 第36卷 《Java程序设计》 (六)图形用户界面程序设计-知识点训练卷 考试时间60分钟 满分100分 班级 姓名 学号 成绩 一、选择题(本大题共10小题,每小题2分,共20分) 1.下列属于Swing顶层容器的是( ) A. JPanel B. JButton C. JFrame D. JLabel 2.设置JFrame窗口标题的方法是( ) A. setTitle() B. setText() C. setLabel() D. setName() 3.以下将容器划分为东、西、南、北、中五个区域的布局管理器是( ) A. FlowLayout B. BorderLayout C. GridLayout D. GridBagLayout 4.创建一个显示文本"确定"的按钮,应该使用( ) A. new JLabel("确定") B. new JTextField("确定") C. new JButton("确定") D. new JCheckBox("确定") 5.为按钮添加ActionListener监听器的方法是( ) A. addAction() B. addListener() C. setActionListener() D. addActionListener() 6.以下哪可以用于输入密码的是( ) A. JPasswordField B. JTextArea C. JTextField D. JLabel 7.在FlowLayout布局管理器中,组件的默认对齐方式是( ) A. 左对齐 B. 右对齐 C. 居中对齐 D. 两端对齐 8. FlowLayout 布局管理器中,组件的排列方向是( )。 A. 从上到下 B. 从左到右 C. 从右到左 D. 从下到上 9. 在使用 GridBagLayout 布局管理器时,需要使用( )类来设置组件的约束条件。 A. GridBagConstraints B. GridLayoutConstraints C. FlowLayoutConstraints D. BorderLayoutConstraints 10. 以下关于 JPanel 容器的说法,正确的是( )。 A. JPanel 不能嵌套其他容器 B. JPanel 没有默认的布局管理器 C. JPanel 可以作为 JFrame 的子容器 D. JPanel 只能添加文本组件 二、判断题(本大题共10小题,每小题2分,共20分) 1.JPanel是一个轻量级容器,常用于组织其他组件。( ) 2.JFrame默认的布局管理器是FlowLayout。( ) 3.复选框JCheckBox允许用户选择多个选项。( ) 4.单选按钮JRadioButton默认就是互斥的,不需要分组。( ) 5.标签(JLabel)可以显示文本和图标。( ) 6.文本框(JTextField)可以显示多行文本。( ) 7. 事件监听器需要实现特定的接口或继承适配器类。( ) 8. 复选框组件 JCheckBox 只能有选中和未选中两种状态,不能设置为不确定状态。( ) 9. KeyEvent 事件只能在文本框组件上触发,不能在按钮等其他组件上触发。( ) 10. 在使用 FlowLayout 布局管理器时,组件的大小会根据容器的大小自动调整。( ) 三、填空题(本大题共5小题,每题2分,共10分) 1.创建一个名为"myFrame"的窗口对象,并设置其标题为"我的窗口"的代码是: JFrame myFrame = ______ JFrame("我的窗口"); 2.设置窗口大小为400x300像素的代码是myFrame.______(400, 300); 3.创建一个显示"用户名:"的标签的代码是JLabel label = ______ JLabel("用户名:"); 4.设置容器使用网格布局,3行2列的代码是:container.______(new GridLayout(3, 2)); 5.获取文本框中内容的代码是:String text = textField.______(); 四、编程题(本大题共10小题,每题5分,共50分) 1.编写一个 Java 程序,创建一个标题为 “Welcome Window” 的 JFrame 窗口,窗口大小为 300x200 像素,使用 FlowLayout 布局管理器,在窗口中添加一个标签,显示 “Hello, Swing World!”。 2.创建一个 JFrame 窗口,标题为 “Button Click Test”,大小为 350x250 像素,使用 FlowLayout 布局。添加一个按钮,按钮文本为 “Click Me”,当点击该按钮时,弹出一个消息对话框显示 “Button Clicked!”。 3.设计一个 JFrame 窗口,标题为 “Text Input Test”,大小 400x300 像素,使用 BorderLayout 布局。在窗口的 NORTH 区域添加一个标签,显示 “Enter Text:”,在 CENTER 区域添加一个文本框,在 SOUTH 区域添加一个按钮,文本为 “Show Text”。点击按钮时,弹出消息对话框显示文本框中的内容。 4.创建一个 JFrame 窗口,标题为 “Password Validation”,大小 350x220 像素,使用 GridLayout 布局,2 行 2 列。第一行第一列添加一个标签,显示 “Password:”,第一行第二列添加一个密码框。第二行第一列添加一个按钮,文本为 “Verify”,第二行第二列添加一个标签用于显示验证结果。当点击 “Verify” 按钮时,检查密码框中的密码是否为 “123456”,如果是,在结果标签中显示 “Password Correct”,否则显示 “Password Incorrect”。 5.编写一个程序,创建一个 JFrame 窗口,标题为 “Checkbox Selection”,大小 320x200 像素,使用 FlowLayout 布局。添加三个复选框,分别显示 “Option 1”、“Option 2”、“Option 3”,再添加一个按钮,文本为 “Show Selection”。点击按钮时,弹出消息对话框显示所有被选中的复选框的文本。 6.创建一个 JFrame 窗口,标题为 “Radio Button Selection”,大小 330x210 像素,使用 FlowLayout 布局。添加三个单选按钮,分别显示 “Red”、“Green”、“Blue”,并将它们添加到一个按钮组中。再添加一个按钮,文本为 “Show Selection”。点击该按钮时,弹出消息对话框显示当前选中的单选按钮的文本。 7.设计一个 JFrame 窗口,标题为 “Mixed Layout Test”,大小 500x400 像素。使用 BorderLayout 布局,在 NORTH 区域添加一个标签,显示 “User Information”。在 CENTER 区域使用 GridLayout(3 行 2 列)布局,依次添加标签 “Name:”、文本框用于输入姓名,标签 “Age:”、文本框用于输入年龄,标签 “Email:”、文本框用于输入邮箱。在 SOUTH 区域添加一个按钮,文本为 “Submit”。点击按钮时,检查姓名、年龄和邮箱是否都有输入,如果都有输入,弹出消息对话框显示 “User information submitted successfully”,否则显示 “Please fill in all fields”。 8.创建一个 JFrame 窗口,标题为 “Complex Layout and Events”,大小 600x500 像素。采用嵌套布局,整体使用 BorderLayout,在 NORTH 区域添加一个标签显示 “Data Input Form”。在 CENTER 区域添加一个 JPanel,该 JPanel 使用 GridBagLayout 布局,包含多行多列的组件,有标签(如 “Username”“Password”“Phone”)和对应的文本框或密码框。在 SOUTH 区域添加两个按钮,“Submit” 和 “Reset”。 点击 “Submit” 按钮时,检查所有输入框是否都有内容,若都有则弹出消息框显示输入的所有信息,若有缺失则提示 “Please fill in all fields”。 点击 “Reset” 按钮时,清空所有输入框的内容。 9.创建一个 JFrame 窗口,标题为 “Keyboard Event Handling”,大小 550x450 像素,使用 FlowLayout 布局。添加一个文本框和一个标签,初始标签显示 “Waiting for input...”。当在文本框中输入字符时,根据输入的字符更新标签内容。如果输入的是字母,标签显示 “Letter entered: [输入的字母]”;如果输入的是数字,标签显示 “Number entered: [输入的数字]”;如果输入的是其他字符,标签显示 “Other character entered: [输入的字符]”。 10.创建一个 JFrame 窗口,标题为 “Multi - Component Interaction”,大小 700x600 像素。窗口布局如下: 采用 BorderLayout 布局,NORTH 区域添加一个下拉列表框,包含 “Red”“Green”“Blue” 三个选项。 CENTER 区域添加一个 JPanel,初始背景颜色为白色。 SOUTH 区域添加一个按钮 “Apply Color”。 当选择下拉列表框中的颜色选项并点击 “Apply Color” 按钮时,将 CENTER 区域的 JPanel 背景颜色设置为所选颜色。同时,添加一个复选框 “Enable Color Change”,只有当该复选框被选中时,点击 “Apply Color” 按钮才会生效。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$ 编写说明:2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》,依据吉林省高职分类(对口招生)考试各类专业综合卷考试科目及纲要(2021版),种信息工程类(电子与信息类)专业综合卷考试科目及纲要编写。本专辑共150份试卷两部分组成,第一部分是按考纲的考点要求编写的120份知识点训练卷,第二部分是针对6门课程的掌握要求,编写的30份常考题训练卷。 本试卷是吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》的第36卷,是知识点训练卷。按“Java程序设计”考试纲要(六)图形用户界面程序设计的四点知识点要求编写,其四点要求是: 1.理解Swing中的JFrame容器、JPanel容器的应用。 2.掌握标签组件、按钮组件、文本框组件、密码框组件、复选框组件、单选按钮组件的创建和使用方法。 3.掌握常用布局管理器FlowLayout、BorderLayout、GridLayout、GridBagLayout的使用。 4.了解事件、事件源、事件监听器,理解ActionEvent、KeyEvent、MouseEvent事件的处理。 2026版吉林省《信息工程类(电子与信息类)考纲百套卷》 第36卷 《Java程序设计》 (六)图形用户界面程序设计-知识点训练卷 考试时间60分钟 满分100分 班级 姓名 学号 成绩 一、选择题(本大题共10小题,每小题2分,共20分) 1.下列属于Swing顶层容器的是( ) A. JPanel B. JButton C. JFrame D. JLabel 答案:C 2.设置JFrame窗口标题的方法是( ) A. setTitle() B. setText() C. setLabel() D. setName() 答案:A 3.以下将容器划分为东、西、南、北、中五个区域的布局管理器是( ) A. FlowLayout B. BorderLayout C. GridLayout D. GridBagLayout 答案:B 4.创建一个显示文本"确定"的按钮,应该使用( ) A. new JLabel("确定") B. new JTextField("确定") C. new JButton("确定") D. new JCheckBox("确定") 答案:C 5.为按钮添加ActionListener监听器的方法是( ) A. addAction() B. addListener() C. setActionListener() D. addActionListener() 答案:D 6.以下哪可以用于输入密码的是( ) A. JPasswordField B. JTextArea C. JTextField D. JLabel 答案:A 7.在FlowLayout布局管理器中,组件的默认对齐方式是( ) A. 左对齐 B. 右对齐 C. 居中对齐 D. 两端对齐 答案:C 8. FlowLayout 布局管理器中,组件的排列方向是( )。 A. 从上到下 B. 从左到右 C. 从右到左 D. 从下到上 答案:B 9. 在使用 GridBagLayout 布局管理器时,需要使用( )类来设置组件的约束条件。 A. GridBagConstraints B. GridLayoutConstraints C. FlowLayoutConstraints D. BorderLayoutConstraints 答案:A 10. 以下关于 JPanel 容器的说法,正确的是( )。 A. JPanel 不能嵌套其他容器 B. JPanel 没有默认的布局管理器 C. JPanel 可以作为 JFrame 的子容器 D. JPanel 只能添加文本组件 答案:C 二、判断题(本大题共10小题,每小题2分,共20分) 1.JPanel是一个轻量级容器,常用于组织其他组件。( ) 答案:正确 2.JFrame默认的布局管理器是FlowLayout。( ) 答案:错误 3.复选框JCheckBox允许用户选择多个选项。( ) 答案:正确 4.单选按钮JRadioButton默认就是互斥的,不需要分组。( ) 答案:错误 5.标签(JLabel)可以显示文本和图标。( ) 答案:正确 6.文本框(JTextField)可以显示多行文本。( ) 答案:错误 7. 事件监听器需要实现特定的接口或继承适配器类。( ) 答案:正确 8. 复选框组件 JCheckBox 只能有选中和未选中两种状态,不能设置为不确定状态。( ) 答案:错误 9. KeyEvent 事件只能在文本框组件上触发,不能在按钮等其他组件上触发。( ) 答案:错误 10. 在使用 FlowLayout 布局管理器时,组件的大小会根据容器的大小自动调整。( ) 答案:错误 三、填空题(本大题共5小题,每题2分,共10分) 1.创建一个名为"myFrame"的窗口对象,并设置其标题为"我的窗口"的代码是: JFrame myFrame = ______ JFrame("我的窗口"); 答案:new 2.设置窗口大小为400x300像素的代码是myFrame.______(400, 300); 答案:setSize 3.创建一个显示"用户名:"的标签的代码是JLabel label = ______ JLabel("用户名:"); 答案:new 4.设置容器使用网格布局,3行2列的代码是:container.______(new GridLayout(3, 2)); 答案:setLayout 5.获取文本框中内容的代码是:String text = textField.______(); 答案:getText 四、编程题(本大题共10小题,每题5分,共50分) 1.编写一个 Java 程序,创建一个标题为 “Welcome Window” 的 JFrame 窗口,窗口大小为 300x200 像素,使用 FlowLayout 布局管理器,在窗口中添加一个标签,显示 “Hello, Swing World!”。 答案: import javax.swing.*; import java.awt.*; public class SimpleWindowWithLabel { public static void main(String[] args) { // 创建 JFrame 窗口 JFrame frame = new JFrame("Welcome Window"); // 设置窗口大小 frame.setSize(300, 200); // 设置窗口关闭操作 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置布局管理器为 FlowLayout frame.setLayout(new FlowLayout()); // 创建标签组件 JLabel label = new JLabel("Hello, Swing World!"); // 将标签添加到窗口 frame.add(label); // 使窗口可见 frame.setVisible(true); } } 2.创建一个 JFrame 窗口,标题为 “Button Click Test”,大小为 350x250 像素,使用 FlowLayout 布局。添加一个按钮,按钮文本为 “Click Me”,当点击该按钮时,弹出一个消息对话框显示 “Button Clicked!”。 答案: import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class ButtonClickEvent { public static void main(String[] args) { JFrame frame = new JFrame("Button Click Test"); frame.setSize(350, 250); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new FlowLayout()); // 创建按钮 JButton button = new JButton("Click Me"); // 为按钮添加动作监听器 button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // 弹出消息对话框 JOptionPane.showMessageDialog(frame, "Button Clicked!"); } }); frame.add(button); frame.setVisible(true); } } 3.设计一个 JFrame 窗口,标题为 “Text Input Test”,大小 400x300 像素,使用 BorderLayout 布局。在窗口的 NORTH 区域添加一个标签,显示 “Enter Text:”,在 CENTER 区域添加一个文本框,在 SOUTH 区域添加一个按钮,文本为 “Show Text”。点击按钮时,弹出消息对话框显示文本框中的内容。 答案: import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class TextInputAndDisplay { public static void main(String[] args) { JFrame frame = new JFrame("Text Input Test"); frame.setSize(400, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new BorderLayout()); // 创建标签 JLabel label = new JLabel("Enter Text:"); // 将标签添加到 NORTH 区域 frame.add(label, BorderLayout.NORTH); // 创建文本框 JTextField textField = new JTextField(); // 将文本框添加到 CENTER 区域 frame.add(textField, BorderLayout.CENTER); // 创建按钮 JButton button = new JButton("Show Text"); // 为按钮添加动作监听器 button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // 获取文本框中的内容 String text = textField.getText(); // 弹出消息对话框显示内容 JOptionPane.showMessageDialog(frame, text); } }); // 将按钮添加到 SOUTH 区域 frame.add(button, BorderLayout.SOUTH); frame.setVisible(true); } } 4.创建一个 JFrame 窗口,标题为 “Password Validation”,大小 350x220 像素,使用 GridLayout 布局,2 行 2 列。第一行第一列添加一个标签,显示 “Password:”,第一行第二列添加一个密码框。第二行第一列添加一个按钮,文本为 “Verify”,第二行第二列添加一个标签用于显示验证结果。当点击 “Verify” 按钮时,检查密码框中的密码是否为 “123456”,如果是,在结果标签中显示 “Password Correct”,否则显示 “Password Incorrect”。 答案: import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class PasswordValidation { public static void main(String[] args) { JFrame frame = new JFrame("Password Validation"); frame.setSize(350, 220); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new GridLayout(2, 2)); // 创建标签 JLabel passwordLabel = new JLabel("Password:"); frame.add(passwordLabel); // 创建密码框 JPasswordField passwordField = new JPasswordField(); frame.add(passwordField); // 创建按钮 JButton verifyButton = new JButton("Verify"); // 创建结果标签 JLabel resultLabel = new JLabel(); // 为按钮添加动作监听器 verifyButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // 获取密码框中的密码 String password = new String(passwordField.getPassword()); if (password.equals("123456")) { resultLabel.setText("Password Correct"); } else { resultLabel.setText("Password Incorrect"); } } }); frame.add(verifyButton); frame.add(resultLabel); frame.setVisible(true); } } 5.编写一个程序,创建一个 JFrame 窗口,标题为 “Checkbox Selection”,大小 320x200 像素,使用 FlowLayout 布局。添加三个复选框,分别显示 “Option 1”、“Option 2”、“Option 3”,再添加一个按钮,文本为 “Show Selection”。点击按钮时,弹出消息对话框显示所有被选中的复选框的文本。 答案: import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.List; public class CheckboxSelection { public static void main(String[] args) { JFrame frame = new JFrame("Checkbox Selection"); frame.setSize(320, 200); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new FlowLayout()); // 创建三个复选框 JCheckBox checkbox1 = new JCheckBox("Option 1"); JCheckBox checkbox2 = new JCheckBox("Option 2"); JCheckBox checkbox3 = new JCheckBox("Option 3"); frame.add(checkbox1); frame.add(checkbox2); frame.add(checkbox3); // 创建按钮 JButton showButton = new JButton("Show Selection"); // 为按钮添加动作监听器 showButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { List<String> selectedOptions = new ArrayList<>(); if (checkbox1.isSelected()) { selectedOptions.add(checkbox1.getText()); } if (checkbox2.isSelected()) { selectedOptions.add(checkbox2.getText()); } if (checkbox3.isSelected()) { selectedOptions.add(checkbox3.getText()); } StringBuilder message = new StringBuilder(); for (String option : selectedOptions) { message.append(option).append(" "); } if (message.length() == 0) { message.append("No options selected."); } // 弹出消息对话框显示选中的选项 JOptionPane.showMessageDialog(frame, message.toString()); } }); frame.add(showButton); frame.setVisible(true); } } 6.创建一个 JFrame 窗口,标题为 “Radio Button Selection”,大小 330x210 像素,使用 FlowLayout 布局。添加三个单选按钮,分别显示 “Red”、“Green”、“Blue”,并将它们添加到一个按钮组中。再添加一个按钮,文本为 “Show Selection”。点击该按钮时,弹出消息对话框显示当前选中的单选按钮的文本。 答案: import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class RadioButtonSelection { public static void main(String[] args) { JFrame frame = new JFrame("Radio Button Selection"); frame.setSize(330, 210); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new FlowLayout()); // 创建三个单选按钮 JRadioButton redButton = new JRadioButton("Red"); JRadioButton greenButton = new JRadioButton("Green"); JRadioButton blueButton = new JRadioButton("Blue"); // 创建按钮组 ButtonGroup group = new ButtonGroup(); group.add(redButton); group.add(greenButton); group.add(blueButton); frame.add(redButton); frame.add(greenButton); frame.add(blueButton); // 创建按钮 JButton showButton = new JButton("Show Selection"); // 为按钮添加动作监听器 showButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String selectedColor = ""; if (redButton.isSelected()) { selectedColor = redButton.getText(); } else if (greenButton.isSelected()) { selectedColor = greenButton.getText(); } else if (blueButton.isSelected()) { selectedColor = blueButton.getText(); } if (selectedColor.isEmpty()) { selectedColor = "No color selected."; } // 弹出消息对话框显示选中的颜色 JOptionPane.showMessageDialog(frame, selectedColor); } }); frame.add(showButton); frame.setVisible(true); } } 7.设计一个 JFrame 窗口,标题为 “Mixed Layout Test”,大小 500x400 像素。使用 BorderLayout 布局,在 NORTH 区域添加一个标签,显示 “User Information”。在 CENTER 区域使用 GridLayout(3 行 2 列)布局,依次添加标签 “Name:”、文本框用于输入姓名,标签 “Age:”、文本框用于输入年龄,标签 “Email:”、文本框用于输入邮箱。在 SOUTH 区域添加一个按钮,文本为 “Submit”。点击按钮时,检查姓名、年龄和邮箱是否都有输入,如果都有输入,弹出消息对话框显示 “User information submitted successfully”,否则显示 “Please fill in all fields”。 答案: import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class MixedLayoutTest { public static void main(String[] args) { JFrame frame = new JFrame("Mixed Layout Test"); frame.setSize(500, 400); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new BorderLayout()); // 创建 NORTH 区域的标签 JLabel northLabel = new JLabel("User Information"); frame.add(northLabel, BorderLayout.NORTH); // 创建 CENTER 区域的面板并设置 GridLayout JPanel centerPanel = new JPanel(); centerPanel.setLayout(new GridLayout(3, 2)); // 创建标签和文本框 JLabel nameLabel = new JLabel("Name:"); JTextField nameField = new JTextField(); JLabel ageLabel = new JLabel("Age:"); JTextField ageField = new JTextField(); JLabel emailLabel = new JLabel("Email:"); JTextField emailField = new JTextField(); // 将组件添加到 CENTER 面板 centerPanel.add(nameLabel); centerPanel.add(nameField); centerPanel.add(ageLabel); centerPanel.add(ageField); centerPanel.add(emailLabel); centerPanel.add(emailField); // 将 CENTER 面板添加到 JFrame frame.add(centerPanel, BorderLayout.CENTER); // 创建 SOUTH 区域的按钮 JButton submitButton = new JButton("Submit"); // 为按钮添加动作监听器 submitButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String name = nameField.getText().trim(); String age = ageField.getText().trim(); String email = emailField.getText().trim(); if (!name.isEmpty() && !age.isEmpty() && !email.isEmpty()) { JOptionPane.showMessageDialog(frame, "User information submitted successfully"); } else { JOptionPane.showMessageDialog(frame, "Please fill in all fields"); } } }); frame.add(submitButton, BorderLayout.SOUTH); frame.setVisible(true); } } 8.创建一个 JFrame 窗口,标题为 “Complex Layout and Events”,大小 600x500 像素。采用嵌套布局,整体使用 BorderLayout,在 NORTH 区域添加一个标签显示 “Data Input Form”。在 CENTER 区域添加一个 JPanel,该 JPanel 使用 GridBagLayout 布局,包含多行多列的组件,有标签(如 “Username”“Password”“Phone”)和对应的文本框或密码框。在 SOUTH 区域添加两个按钮,“Submit” 和 “Reset”。 点击 “Submit” 按钮时,检查所有输入框是否都有内容,若都有则弹出消息框显示输入的所有信息,若有缺失则提示 “Please fill in all fields”。 点击 “Reset” 按钮时,清空所有输入框的内容。 答案: import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; public class ComplexLayoutAndEvents { private JTextField usernameField; private JPasswordField passwordField; private JTextField phoneField; public ComplexLayoutAndEvents() { JFrame frame = new JFrame("Complex Layout and Events"); frame.setSize(600, 500); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new BorderLayout()); // NORTH 区域标签 JLabel northLabel = new JLabel("Data Input Form"); frame.add(northLabel, BorderLayout.NORTH); // CENTER 区域面板 JPanel centerPanel = new JPanel(new GridBagLayout()); GridBagConstraints gbc = new GridBagConstraints(); gbc.insets = new Insets(5, 5, 5, 5); // 用户名标签和文本框 JLabel usernameLabel = new JLabel("Username"); gbc.gridx = 0; gbc.gridy = 0; centerPanel.add(usernameLabel, gbc); usernameField = new JTextField(20); gbc.gridx = 1; gbc.gridy = 0; centerPanel.add(usernameField, gbc); // 密码标签和密码框 JLabel passwordLabel = new JLabel("Password"); gbc.gridx = 0; gbc.gridy = 1; centerPanel.add(passwordLabel, gbc); passwordField = new JPasswordField(20); gbc.gridx = 1; gbc.gridy = 1; centerPanel.add(passwordField, gbc); // 电话标签和文本框 JLabel phoneLabel = new JLabel("Phone"); gbc.gridx = 0; gbc.gridy = 2; centerPanel.add(phoneLabel, gbc); phoneField = new JTextField(20); gbc.gridx = 1; gbc.gridy = 2; centerPanel.add(phoneField, gbc); frame.add(centerPanel, BorderLayout.CENTER); // SOUTH 区域按钮 JPanel southPanel = new JPanel(); JButton submitButton = new JButton("Submit"); JButton resetButton = new JButton("Reset"); southPanel.add(submitButton); southPanel.add(resetButton); frame.add(southPanel, BorderLayout.SOUTH); // Submit 按钮事件处理 submitButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String username = usernameField.getText().trim(); String password = new String(passwordField.getPassword()).trim(); String phone = phoneField.getText().trim(); if (!username.isEmpty() && !password.isEmpty() && !phone.isEmpty()) { String message = "Username: " + username + " Password: " + password + " Phone: " + phone; JOptionPane.showMessageDialog(frame, message); } else { JOptionPane.showMessageDialog(frame, "Please fill in all fields"); } } }); // Reset 按钮事件处理 resetButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { usernameField.setText(""); passwordField.setText(""); phoneField.setText(""); } }); frame.setVisible(true); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { new ComplexLayoutAndEvents(); } }); } } 9.创建一个 JFrame 窗口,标题为 “Keyboard Event Handling”,大小 550x450 像素,使用 FlowLayout 布局。添加一个文本框和一个标签,初始标签显示 “Waiting for input...”。当在文本框中输入字符时,根据输入的字符更新标签内容。如果输入的是字母,标签显示 “Letter entered: [输入的字母]”;如果输入的是数字,标签显示 “Number entered: [输入的数字]”;如果输入的是其他字符,标签显示 “Other character entered: [输入的字符]”。 答案: import javax.swing.*; import java.awt.*; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; public class KeyboardEventHandling { public KeyboardEventHandling() { JFrame frame = new JFrame("Keyboard Event Handling"); frame.setSize(550, 450); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new FlowLayout()); JTextField textField = new JTextField(20); JLabel label = new JLabel("Waiting for input..."); frame.add(textField); frame.add(label); textField.addKeyListener(new KeyAdapter() { @Override public void keyTyped(KeyEvent e) { char c = e.getKeyChar(); String message; if (Character.isLetter(c)) { message = "Letter entered: " + c; } else if (Character.isDigit(c)) { message = "Number entered: " + c; } else { message = "Other character entered: " + c; } label.setText(message); } }); frame.setVisible(true); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { new KeyboardEventHandling(); } }); } } 10.创建一个 JFrame 窗口,标题为 “Multi - Component Interaction”,大小 700x600 像素。窗口布局如下: 采用 BorderLayout 布局,NORTH 区域添加一个下拉列表框,包含 “Red”“Green”“Blue” 三个选项。 CENTER 区域添加一个 JPanel,初始背景颜色为白色。 SOUTH 区域添加一个按钮 “Apply Color”。 当选择下拉列表框中的颜色选项并点击 “Apply Color” 按钮时,将 CENTER 区域的 JPanel 背景颜色设置为所选颜色。同时,添加一个复选框 “Enable Color Change”,只有当该复选框被选中时,点击 “Apply Color” 按钮才会生效。 答案: import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class MultiComponentInteraction { private JComboBox<String> colorComboBox; private JPanel centerPanel; private JCheckBox enableCheckBox; public MultiComponentInteraction() { JFrame frame = new JFrame("Multi - Component Interaction"); frame.setSize(700, 600); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new BorderLayout()); // NORTH 区域下拉列表框 String[] colors = {"Red", "Green", "Blue"}; colorComboBox = new JComboBox<>(colors); frame.add(colorComboBox, BorderLayout.NORTH); // CENTER 区域面板 centerPanel = new JPanel(); centerPanel.setBackground(Color.WHITE); frame.add(centerPanel, BorderLayout.CENTER); // SOUTH 区域按钮和复选框 JPanel southPanel = new JPanel(); JButton applyButton = new JButton("Apply Color"); enableCheckBox = new JCheckBox("Enable Color Change"); southPanel.add(enableCheckBox); southPanel.add(applyButton); frame.add(southPanel, BorderLayout.SOUTH); // Apply Color 按钮事件处理 applyButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { if (enableCheckBox.isSelected()) { String selectedColor = (String) colorComboBox.getSelectedItem(); switch (selectedColor) { case "Red": centerPanel.setBackground(Color.RED); break; case "Green": centerPanel.setBackground(Color.GREEN); break; case "Blue": centerPanel.setBackground(Color.BLUE); break; } } } }); frame.setVisible(true); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { new MultiComponentInteraction(); } }); } } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$

资源预览图

《Java程序设计》(六)图形用户界面程序设计-知识点训练卷 2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》第36卷
1
《Java程序设计》(六)图形用户界面程序设计-知识点训练卷 2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》第36卷
2
《Java程序设计》(六)图形用户界面程序设计-知识点训练卷 2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》第36卷
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。