📄 search.java
字号:
// Tutorialsearch.java
import javax.swing.*;
import java.awt.*;import java.awt.event.*;
class MyFrame extends JFrame implements ItemListener
{ // JLabel and JTextField for bookname
String value;//这一属性是当前显示图书的价值范围
private JLabel booknameJLabel;
private JTextField booknameJTextField;
// JLabel and JTextField for author
private JLabel authorJLabel;
private JTextField authorJTextField;
//JLabel for value arrange
private JLabel valueJLabel;
//JButton for search
private JButton searchJButton;
//选择下拉菜单
Choice valuechooser;
//创建2 dimension array,并且初始化数组为50人以上
String BookArray[][]={{"天","王三","1-20"},{"地","王一","20-40"},{"收","王把","1-20"},{"是i","王咽","40-60"},{"好","里三","1-20"},{"一天","王大三","1-20"},{"耳天","其三","1-20"},{"巴","六三","1-20"},{"说","及三","1-20"},{"深","王小三","1-20"},{"大天","王三网","1-20"},{"想","王四三","1-20"},{"额天","王三啊","1-20"},{"天是","王的数三","1-20"},{"啊天","王三天","1-20"},{"天我","王三","1-20"},{"天1","王三","1-20"},{"天2","王三","1-20"},{"天3","王三","1-20"},{"天4","王三","1-20"},{"天5","王三","1-20"},{"天6","王三","1-20"},{"天7","王三","1-20"},{"天8","王三","1-20"},{"天9","王三","1-20"},{"天10","王三","1-20"},{"天11","王三","1-20"},{"天12","王三","1-20"},{"天13","王三","1-20"},{"天14","王三","1-20"},{"天15","王三","1-20"},{"天16","王三","1-20"},{"天17","王三","1-20"},{"天18","王三","1-20"},{"天19","王三","1-20"},{"天20","王三","1-20"},{"天21","王三","1-20"},{"天22","王三","1-20"},{"天23","王三","1-20"},{"天26","王三","1-20"},{"天56","王三","1-20"},{"天90","王三","1-20"},{"34天","王三","1-20"},{"天57","王三","1-20"},{"天12","王三","1-20"},{"天111","王三","1-20"},{"天122","王三","1-20"},{"323天","王三","1-20"},{"天434","王三","1-20"},{"234天","王三","1-20"},{"43天","王三","1-20"},{"656天","王三","1-20"}};
//TextArea,用来输出search的结果
private JTextArea ResultJTextArea;
// no-argument constructor
MyFrame(String s)
{ super(s);
// create and position GUI components; register event handlers
// get content pane and set layout to null
Container contentPane = getContentPane();
contentPane.setLayout( null );
// set up booknameJLabel
booknameJLabel = new JLabel();
booknameJLabel.setText( "图书名:" );
booknameJLabel.setBounds( 16, 16, 130, 21 );
contentPane.add( booknameJLabel );
// set up authorJLabel
authorJLabel = new JLabel();
authorJLabel.setText( "作者:" );
authorJLabel.setBounds( 16, 48, 104, 21 );
contentPane.add( authorJLabel );
// set up valueJLabel
valueJLabel = new JLabel();
valueJLabel.setText( "价格范围:" );
valueJLabel.setBounds( 204, 16, 40, 21 );
contentPane.add( valueJLabel );
// set up booknameJTextField
booknameJTextField = new JTextField();
booknameJTextField.setText( "" );
booknameJTextField.setBounds( 148, 16, 40, 21 );
booknameJTextField.setHorizontalAlignment( JTextField.RIGHT );
contentPane.add( booknameJTextField );
// set up authorJTextField
authorJTextField = new JTextField();
authorJTextField.setText( "" );
authorJTextField.setBounds( 148, 48, 40, 21 );
authorJTextField.setHorizontalAlignment( JTextField.RIGHT );
contentPane.add( authorJTextField );
// set up ResultJTextField
valuechooser=new Choice();
valuechooser.addItem("");
valuechooser.addItem("1-20");
valuechooser.addItem("20-40");
valuechooser.addItem("40-60");
valuechooser.setBounds( 244, 16, 86, 21 );
contentPane.add( valuechooser);
valuechooser.addItemListener(this);//addItemListener
// set up searchJButton
searchJButton = new JButton();
searchJButton.setText( "查询" );
searchJButton.setBounds( 204, 48, 126, 24 );
contentPane.add( searchJButton );
searchJButton.addActionListener(
new ActionListener() // anonymous inner class
{
// method called when search JButton is pressed
public void actionPerformed( ActionEvent event )
{
searchJButtonActionPerformed( event );
}
} // end anonymous inner class
); // end call to addActionListener
//set up ResultJTextArea
ResultJTextArea = new JTextArea();
ResultJTextArea.setEditable(false);
JScrollPane scrollJScrollPane =new JScrollPane( ResultJTextArea );
scrollJScrollPane.setBounds( 16, 72, 318, 50 );
add( scrollJScrollPane );//添加滚动条
setSize( 354, 200 ); // set window size
setVisible( true ); // display window
}
// search the value author or bookname
private void searchJButtonActionPerformed( ActionEvent event)
{
int k=0;
String bookname,author;
String text="";
bookname=booknameJTextField.getText();
author=authorJTextField.getText();
// 创建另外的数组用来存储结果,并初始化
String result[]={"","","","","",""," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," ","","","","","","","","","","","","","",""};
for(int i=0;i<BookArray.length;i++)
{if(BookArray[i][0].equals(bookname)||BookArray[i][1].equals(author)||BookArray[i][2].equals(this.value))
{
result[k]="bookname:"+BookArray[i][0]+" author:"+BookArray[i][1]+" value:"+BookArray[i][2]+"\n";k++;
}
}
// display result in the text field
for(int j=0;j<k;j++){text=text+result[j];}
ResultJTextArea.setText(text);
} // end method searchJButtonActionPerformed*/
public void itemStateChanged(ItemEvent e)
{
this.value=valuechooser.getSelectedItem();
}
}
public class search
{ public static void main(String args[])
{MyFrame application=new MyFrame("图书查询系统");
application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );//关闭窗口
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -