📄 hufdialog.java
字号:
package datastructure;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
//类dataDialog用于建立演示数据
class HufDialog
extends JDialog
implements ActionListener {
private JButton jButton1 = new JButton();
private JButton jButton2 = new JButton();
private JTextField jTextField1 = new JTextField();
private JLabel jLabel1 = new JLabel();
private String save[];
//用于保存演示数据
static int a[] = {
6, 9, 21, 8, 27, 11, 16, 36};
public HufDialog(JFrame frame, String title, boolean mode) {
super(frame, title, mode);
try {
jbInit();
}
catch (Exception e) {
e.printStackTrace();
}
save = new String[5];
save[1] = "4, 10, 21, 9, 27, 11, 16, 45";
save[2] = "3, 9, 21,8, 27, 10, 15, 32";
save[3] = "4, 10, 22, 9, 24, 11, 16, 30";
}
private void jbInit() throws Exception {
setSize(new Dimension(363, 262));
setLocation(100, 150);
setVisible(false);
jButton1.setBounds(new Rectangle(37, 156, 100, 25));
jButton1.setToolTipText("随机生成演示数据");
jButton1.setVerifyInputWhenFocusTarget(true);
jButton1.setText("随机生成");
jButton1.addActionListener(this);
this.getContentPane().setLayout(null);
this.getContentPane().setBackground(SystemColor.activeCaptionBorder);
jButton2.setBounds(new Rectangle(203, 157, 101, 25));
jButton2.setText("确定");
jButton2.addActionListener(this);
jTextField1.setToolTipText("请输入合法数据");
jTextField1.setText("");
jTextField1.setBounds(new Rectangle(37, 81, 275, 29));
jTextField1.addActionListener(this);
jLabel1.setToolTipText("");
jLabel1.setText("生成各节点的权值,权值大小范围为1到49之间的整形数据");
jLabel1.setBounds(new Rectangle(13, 23, 342, 33));
this.getContentPane().add(jLabel1, null);
this.getContentPane().add(jTextField1, null);
this.getContentPane().add(jButton1, null);
this.getContentPane().add(jButton2, null);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == jButton1) {
jTextField1.setEditable(true);
int number = (int) (Math.random() * 3 + 1);
String s = save[number];
jTextField1.setEditable(false);
jTextField1.setText(s);
}
else if (e.getSource() == jButton2) {
//用于表示数组a的下标
int tag = 0;
String s = jTextField1.getText().trim();
StringTokenizer str = new StringTokenizer(s, " ,");
int number = str.countTokens();
a = new int[number];
while (str.hasMoreTokens()) {
String s1 = str.nextToken();
a[tag] = Integer.parseInt(s1);
tag++;
}
setVisible(false);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -