実験XI:
出典:
パッケージJI。
輸入java.awt.Button。
インポートをjava.awt.Color;
輸入java.awt.FlowLayout;
インポートするjava.awt.Frame;
輸入java.awt.Label。
輸入java.awt.TextFieldの。
輸入java.awt.event.ActionEvent。
輸入java.awt.event.ActionListener。
輸入java.awt.event.WindowEventの。
輸入java.awt.event.WindowListenerの。
輸入javax.swing.JFrame;
//インポート例62.QueryFrame.WinClose。
パブリッククラスの追加は、フレーム{延び
パブリック静的な無効メイン(文字列[]引数){新規追加を();}
プライベートボタンbutton_char; // button_nui。
公共の追加(){
スーパー( "运算器");
this.setSize(400200)。
this.setLocation(300240)。
this.setBackground(Color.white)。
this.setLayout(新しいFlowLayoutの());
this.add(新しいTextFieldの( "10"、8));
this.add(新ラベル( "+"));
this.add(新しいTextFieldの( "20"、8));
this.button_char =新しいボタン( "=");
this.add(this.button_char)。
this.add(新しいTextFieldの(10));
this.add(新しいTextFieldの( "30"、8));
this.add(新ラベル( " - "));
this.add(新しいTextFieldの( "20"、8));
this.button_char =新しいボタン( "=");
this.add(this.button_char)。
//this.add(newボタン(」
this.add(新しいTextFieldの( "10"、8));
this.add(新ラベル( "*"));
this.add(新しいTextFieldの( "20"、8));
this.button_char =新しいボタン( "=");
this.add(this.button_char)。
//this.add(newボタン( "="));
this.add(新しいTextFieldの(10));
this.add(新しいTextFieldの( "10"、8));
this.add(新ラベル( "/"));
this.add(新しいTextFieldの( "2"、8));
this.button_char =新しいボタン( "=");
this.add(this.button_char)。
//this.add(newボタン( "="));
this.add(新しいTextFieldの(10));
button_char.addActionListener(新しいMyActionListener());
this.setVisible(真の);
this.addWindowListener(新しいWinClose());
}
クラスMyActionListenerはのActionListener {実装
//事件处理方法
@Override
公共ボイドのactionPerformed(のActionEvent e)は{
のSystem.out.println( "有人点击了按钮")。
System.out.println(((ボタン)e.getSource())getLabel());}
}
パブリッククラスWinCloseがいるWindowListener実装
{
@Override
公共ボイドのwindowActivated(のWindowEvent E){
// TODO自動生成方法スタブ
}
@Override
公共ボイドwindowClosing(のWindowEvent eを){
でSystem.exit(0);
}
// TODO自動生成方法スタブ
@Override
公共ボイドwindowClosed(のWindowEvent電子){
// TODO自動生成方法スタブ
}
@Override
公共ボイドwindowDeactivated(のWindowEvent電子){
// TODO自動生成方法スタブ
}
@Override
公衆windowDeiconified(のWindowEvent e)を無効{
// TODO自動生成方法スタブ
}
@Override
公共ボイドのwindowIconified(のWindowEvent電子){
// TODO自動生成方法スタブ
}
@Override
公共ボイドwindowOpened(のWindowEvent電子){
// TODO自動生成方法スタブ
}
}}
実験の経験:
前の実験に比べ実験では、イベントリスナーを追加し、プログラムはより完璧です。
実験12:
パッケージ实验十二。
輸入java.awt.FlowLayout;
輸入java.awt.GridLayout。
輸入javax.swing.JFrame;
輸入javax.swing.JLabel。
輸入javax.swing.JMenuの。
輸入javax.swing.JMenuItemの。
輸入javax.swing.JRadioButtonの。
輸入javax.swing.JTextField。
@SuppressWarnings( "未使用")
パブリッククラスJianli {
パブリック静的無効メイン(文字列[] args){
JFrameのJF1 =新しいJFrameの( "简历")。
jf1.getContentPane()setLayoutの(新しいFlowLayoutの());
。jf1.getContentPane()(新しいJLabelのを( "姓名"))を追加。
。jf1.getContentPane()を追加(新しいJTextFieldの(20));
jf1.getContentPane()(新しいJLabelの( "性别を"))を追加します。;
JRadioButton J2 =新しいのJRadioButton( "女");
jf1.add(J2)。
jf1.getContentPane()(新しいJLabelのを( ""))を追加します。;
JRadioButton J21 =新しいのJRadioButton( "男");
jf1.add(J21)。
jf1.getContentPane()(新しいJLabelの( "民族"という。))を追加します。;
。jf1.getContentPane()を追加(新しいJTextFieldの(20));
jf1.getContentPane()(新しいJLabelの( "年龄を"))を追加します。;
。jf1.getContentPane()を追加(新しいJTextFieldの(20));
jf1.getContentPane()(新しいJLabelの( "专业を"))を追加します。;
。jf1.getContentPane()(新しいJLabelの( "从以下选择"))を追加します。
jf1.getContentPane()(新しいJLabelの( "网络の工程を"))を追加します。;
jf1.getContentPane()(新規のJRadioButton( "是")を)を追加します。;
。jf1.getContentPane()(新しいJLabelの( "物联网工程"))を追加します。
jf1.getContentPane()(新規のJRadioButton( "是")を)を追加します。;
jf1.getContentPane()。
jf1.getContentPane()(新規のJRadioButton( "是")を)を追加します。;
jf1.getContentPane()(新しいJLabelの( "计算机科学与技术を"))を追加します。;
jf1.getContentPane()(新規のJRadioButton( "是")を)を追加します。;
jf1.setLayout(新しいGridLayoutの(15,2));
jf1.setSize(400、400)。
jf1.setVisible(真の);
}
}
実験の経験:余分なイベントリスナーを使用することなく、より便利AWTコンポーネントアセンブリを振ります。