Java实验二(下):常用Swing组件的使用

实验目的

1、理解容器和组件的思想,掌握Swing开发图像用户界面程序的方法;
2、理解布局的概念及掌握几种布局管理器特点和用法;
3、理解Java的消息处理机制,掌握消息处理方法。

实验内容

编写一个窗体应用程序,实现以下功能:
a) 窗口布局为BorderLayout;在窗口的北侧区域包含有一个文本框和一个按钮,南侧含一个下拉列表框,窗口中间区域有一个文本区。
b) 用户在文本框中输入一个数值并回车,或者点击按钮时,将文本框内的数值显示在文本区中;当用户输入“clear”的时候,清空文本区的全部内容。
c) 下拉列表框里内容自己定义,当进行下拉选择时,同样将列表框中的内容显示在文本区中。

实验代码

package experiment_two;
//import javax.security.auth.callback.TextInputCallback;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

interface MyListener extends ActionListener{
	public void setJTextField(JTextField text);
	public void setJTextArea(JTextArea area);
}

class PoliceListen implements MyListener{
	JTextField inputText;
	JTextArea textShow;
	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		String str = inputText.getText();
		String str1 = "clear";
		if(str.equals(str1)) {
			textShow.setText("");
		}else
		textShow.setText(str);
	}
	@Override
	public void setJTextField(JTextField text) {
		// TODO Auto-generated method stub
		inputText = text;
	}
	@Override
	public void setJTextArea(JTextArea area) {
		// TODO Auto-generated method stub
		textShow = area;
	}
}

public class project{
    public static void main(String[] agrs){
        JFrame frame=new JFrame("实验二");    //创建Frame窗口
        frame.setSize(400,200);
        frame.setLayout(new BorderLayout());    //为Frame窗口设置布局为BorderLayout
        JButton button1=new JButton ("确定");
        JButton button2=new JButton("西");
        JButton button3=new JButton("东");
        JTextField inputText = new JTextField(10);
        JTextArea textShow = new JTextArea(9,30);
        JComboBox<String> comBox = new JComboBox<String>();
        JPanel npanel = new JPanel();
        JPanel spanel = new JPanel();
        npanel.add(inputText);
        npanel.add(button1);
        spanel.add(comBox);
        comBox.addItem("文字内容一");
        comBox.addItem("文字内容二");
        frame.add(npanel, BorderLayout.NORTH);
        frame.add(spanel, BorderLayout.SOUTH);
        frame.add(button2,BorderLayout.WEST);
        frame.add(textShow,BorderLayout.CENTER);
        frame.add(button3,BorderLayout.EAST);
        frame.setBounds(300,200,600,300);
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        PoliceListen police = new PoliceListen();
        police.setJTextField(inputText);
        police.setJTextArea(textShow);
        inputText.addActionListener(police);
        button1.addActionListener(police);
        comBox.addItemListener(new ItemListener(){
        	 public void itemStateChanged(ItemEvent e){
        	   if(e.getStateChange() == ItemEvent.SELECTED){
        	     textShow.setText(e.getItem().toString());
        	     }
        	   }
        	 });
    }
}

运行结果

1.腾龙梦屋文章内容无特殊注明皆为源儿原创,转载请注明来源,谢谢!
2.若有相关文章侵犯您的权益,请联系源儿删除,谢谢!
3.相关软件、资料仅供学习参考使用,在24h内务必删除!
腾龙梦屋 » Java实验二(下):常用Swing组件的使用
加速支持