信息工程学院Java程序设计实习报告JAVA图形用户界面实验六Java图形用户界面1.实验目的(1)掌握图形用户界面基本组件。
(2)了解如何使用布局管理器对组件进行管理。
(3)掌握Java事件处理机制。
2.实验内容实验题 1 编写一个模拟计算器的程序,使用面板与网格布局,添加一个文本框,10个数字按钮(0-9),4个加减乘除按钮,一个等号按钮,一个清除按钮,要求将计算公式与结果显示在文本框中。
运行结果:实验报告的内容与格式按任课教师的要求书写。
加法:主要代码:private void initComponents() {jButton1 = new javax、swing、JButton();jButton2 = new javax、swing、JButton();jButton3 = new javax、swing、JButton();jButton4 = new javax、swing、JButton();jButton5 = new javax、swing、JButton();jButton6 = new javax、swing、JButton();jButton7 = new javax、swing、JButton();jButton8 = new javax、swing、JButton();jButton9 = new javax、swing、JButton();jButton10 = new javax、swing、JButton();jButton11 = new javax、swing、JButton();jButton12 = new javax、swing、JButton();jButton13 = new javax、swing、JButton();jButton14 = new javax、swing、JButton();jButton15 = new javax、swing、JButton();jTextField1 = new javax、swing、JTextField();setStub(null);jButton1、setText("3");jButton1、addActionListener(new java、awt、event、ActionListener() {public void actionPerformed(java、awt、event、ActionEvent evt) {jButton1ActionPerformed(evt);}});jButton2、setText("1");jButton2、addActionListener(new java、awt、event、ActionListener() {public void actionPerformed(java、awt、event、ActionEvent evt) {jButton2ActionPerformed(evt);}});jButton3、setText("5");jButton3、addActionListener(new java、awt、event、ActionListener() {public void actionPerformed(java、awt、event、ActionEvent evt) {jButton3ActionPerformed(evt);}});jButton4、setText("2");jButton4、addActionListener(new java、awt、event、ActionListener() {public void actionPerformed(java、awt、event、ActionEvent evt) {jButton4ActionPerformed(evt);}});jButton5、setText("6");jButton5、addActionListener(new java、awt、event、ActionListener() {public void actionPerformed(java、awt、event、ActionEvent evt) {jButton5ActionPerformed(evt);}});jButton6、setText("8");jButton6、addActionListener(new java、awt、event、ActionListener() {public void actionPerformed(java、awt、event、ActionEvent evt) {jButton6ActionPerformed(evt);}});jButton7、setText("4");jButton7、addActionListener(new java、awt、event、ActionListener() {public void actionPerformed(java、awt、event、ActionEvent evt) {jButton7ActionPerformed(evt);}});jButton8、setText("7");jButton8、addActionListener(new java、awt、event、ActionListener() {public void actionPerformed(java、awt、event、ActionEvent evt) {jButton8ActionPerformed(evt);}});jButton9、setText("0");jButton9、addActionListener(new java、awt、event、ActionListener() {public void actionPerformed(java、awt、event、ActionEvent evt) {jButton9ActionPerformed(evt);}});jButton10、setText("9");jButton10、addActionListener(new java、awt、event、ActionListener() {public void actionPerformed(java、awt、event、ActionEvent evt) {jButton10ActionPerformed(evt);}});jButton11、setText("\u00f7");jButton11、addActionListener(new java、awt、event、ActionListener() {public void actionPerformed(java、awt、event、ActionEvent evt) {jButton11ActionPerformed(evt);}});jButton12、setText("\u00d7");jButton12、addActionListener(new java、awt、event、ActionListener() {public void actionPerformed(java、awt、event、ActionEvent evt) {jButton12ActionPerformed(evt);}});jButton13、setText("-");jButton13、addActionListener(new java、awt、event、ActionListener() {public void actionPerformed(java、awt、event、ActionEvent evt) {jButton13ActionPerformed(evt);}});jButton14、setText("+");jButton14、addActionListener(new java、awt、event、ActionListener() {public void actionPerformed(java、awt、event、ActionEvent evt) {jButton14ActionPerformed(evt);}});jButton15、setText("=");jButton15、addActionListener(new java、awt、event、ActionListener() {public void actionPerformed(java、awt、event、ActionEvent evt) {jButton15ActionPerformed(evt);}});实验题2 编写一个程序,有一个窗口,该窗口为BorderLayout布局。
窗口的中心添加一个Panel容器:pCenter,pCenter的布局就是7行7列的GridLayout布局,pCenter 的中放置49个标签,用来显示日历。
窗口北面添加一个Panel容器pNorth,其布局就是FlowLayout布局,pNorth放置两个按钮:nextMonth与previousMonth按钮,单击nextMonth,可以显示当前月的下一个月的日历;单击previousMonth按钮,可以显示当前月的上一个月的日历。
窗口的南面添加一个Panel容器pSouth,其布局就是FlowLayout 布局,pSouth中放置一个标签用来显示一些信息。
运行结果如图所示。
图3、8 运行结果图[基本要求] 编写完整程序。
运行结果:主要代码:private JLabel[] buttonDay = new JLabel[42];private JButton[] buttonWeek = new JButton[7];private JLabel labelMonth = new JLabel();private JButton buttonLastMonth = new JButton();private JButton buttonNextMonth = new JButton();private JPanel pCenter=new JPanel();private JPanel pNorth=new JPanel();private JPanel pSouth=new JPanel();private JLabel time=new JLabel();public Calender() {super("Calender");setBounds(250, 200, 600, 500);setDefaultCloseOperation(JFrame、EXIT_ON_CLOSE);buttonLastMonth、setText("上月");buttonLastMonth、addActionListener(this);pNorth、add(buttonLastMonth);buttonNextMonth、setText("下月");buttonNextMonth、addActionListener(this);pNorth、add(buttonNextMonth);getContentPane()、add(pNorth,BorderLayout、NORTH);getContentPane()、add(pCenter,BorderLayout、CENTER);pCenter、setLayout(new GridLayout(7,7));for (int i = 0; i < 7; i++) {buttonWeek[i] = new JButton();buttonWeek[i]、setText(stringWeekCn[i]);pCenter、add(buttonWeek[i]);}for (int i = 0; i < 42; i++) {buttonDay[i] = new JLabel();buttonDay[i]、setText(" ");pCenter、add(buttonDay[i]);}实验题3 实现如图3、9所示的布局方式功能:前两个文本框输入整型数据。