多窗体
来源:互联网 发布:淘宝卖家怎么上传图片 编辑:程序博客网 时间:2024/04/29 14:40
多窗体
多窗体,这是小编结合前面发的几篇而写成的。通过登录页面登录后,进入到另一个页面。java的窗体一般是通过 java.awt.* awt 这个类来实现的。
登录页面代码:import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.FocusEvent;import java.awt.event.FocusListener;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import javax.swing.JOptionPane;public class UserLogin implements ActionListener { Frame app = new Frame("登录窗体"); Label lblName = new Label("登录名:"); static TextField txtName = new TextField(); Label lblPass = new Label("密码:"); static TextField txtPass = new TextField(); // 新添加一个Button 按钮 Button bt = new Button("确定登录"); Button bt2 = new Button("退出登录"); public UserLogin(){ app.setSize(300, 200); app.setLayout(null); lblName.setBounds(60, 50, 70, 20); txtName.setBounds(135, 50, 100, 20); txtName.addKeyListener(new KeyHandler()); txtName.addFocusListener(new FocusHandler()); lblPass.setBounds(60, 90, 70, 20); txtPass.setBounds(135, 90, 100, 20); txtPass.addKeyListener(new KeyHandler()); txtPass.addFocusListener(new FocusHandler()); app.add(lblName); app.add(txtName); app.add(lblPass); app.add(txtPass); // 将Button 按钮放入窗体中去。 app.add(bt); app.add(bt2); bt.setBounds(55, 140, 60, 30); bt2.setBounds(182, 140, 60, 30); bt.addActionListener(this); bt2.addActionListener(this); app.setLocation(200, 100); app.setBackground(Color.orange); app.setResizable(false); app.setVisible(true); }public static void main(String[] args){UserLogin tft = new UserLogin(); } public void actionPerformed(ActionEvent e){ Object ob = e.getSource(); if (ob == bt2){ System.exit(0); } else if(ob == bt) { new ScrollbarTest(); } }}class KeyHandler implements KeyListener{@Overridepublic void keyTyped(KeyEvent e) {// TODO 自动生成的方法存根}@Overridepublic void keyPressed(KeyEvent e) {// TODO 自动生成的方法存根Object ob = e.getSource(); if(( ob == UserLogin.txtName )&&( e.getKeyCode() == 10 )){// System.out.println(UserLogin.txtName.getText()); } else if(( ob == UserLogin.txtPass )&&( e.getKeyCode() == 10 )){// System.out.println( UserLogin.txtPass.getText() ); }}@Overridepublic void keyReleased(KeyEvent e) {// TODO 自动生成的方法存根} }class FocusHandler implements FocusListener{@Overridepublic void focusGained(FocusEvent e) {// TODO 自动生成的方法存根}@Overridepublic void focusLost(FocusEvent e) {// TODO 自动生成的方法存根Object ob = e.getSource(); if(( ob == UserLogin.txtName ) ){// System.out.println(UserLogin.txtName.getText()); } else if(( ob == UserLogin.txtPass ) ){// System.out.println( UserLogin.txtPass.getText() ); }}}
滚动条窗体页面 code:import java.awt.*;import java.awt.event.AdjustmentEvent;import java.awt.event.AdjustmentListener;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JOptionPane;public class ScrollbarTest implements AdjustmentListener,ActionListener { Frame app = new Frame("滚动条"); // 三个标签数组 Label lblColor[] = {new Label("Red:"),new Label("Green:"),new Label("Blue:")}; // 三个滚动条 Scrollbar scbColor[] = { new Scrollbar(Scrollbar.HORIZONTAL,0,20,0,255), new Scrollbar(Scrollbar.HORIZONTAL,0,20,0,255), new Scrollbar(Scrollbar.HORIZONTAL,0,20,0,255),}; // Button 按钮 Button bt1 = new Button("提交"); Button bt2 = new Button("退出"); public ScrollbarTest(){ sbinit(); } void sbinit(){ app.setSize(260,300); app.setLayout(null); // 设置滚动条和标签的大小 for(int k = 0;k<3;k++){ lblColor[k].setBounds(110, 60+60*k, 50, 20); scbColor[k].setBounds(30, 85+60*k, 200, 20); scbColor[k].addAdjustmentListener(this); } // 该for循环用来设置标签和滚动条的背景颜色 for(int i = 0;i<3;i++){ lblColor[0].setBackground(Color.red); scbColor[0].setBackground(Color.red); lblColor[1].setBackground(Color.green); scbColor[1].setBackground(Color.green); lblColor[2].setBackground(Color.blue); scbColor[2].setBackground(Color.blue); } // 三个标签和三个滚动条添加到窗体中。 for(int k = 0;k<3;k++){ app.add(lblColor[k]); app.add(scbColor[k]); } bt1.setBounds(30, 250, 75,35); bt2.setBounds(160, 250, 75,35); bt1.setBackground(Color.orange); bt2.setBackground(Color.MAGENTA); bt1.addActionListener(this); bt2.addActionListener(this); app.setLocation(200, 100); app.setVisible(true); app.setResizable(false); app.setBackground(Color.gray); app.add(bt1); app.add(bt2); } public static void main(String[] args){ScrollbarTest sbt = new ScrollbarTest();sbt.sbinit();}@Override public void adjustmentValueChanged(AdjustmentEvent e) {// TODO 自动生成的方法存根Object ob = e.getSource();if(ob == scbColor[0]){System.out.println(scbColor[0].getValue()+" ");}else if(ob == scbColor[1]){System.out.println(scbColor[1].getValue()+" ");}else if(ob == scbColor[2]){System.out.println(scbColor[2].getValue()+" ");}} // ActionEvent 事件 public void actionPerformed(ActionEvent e){ Object ob = e.getSource(); // 当点击退出按钮时,窗体就回退出。 if(ob == bt2){ System.exit(0); } else if(ob == bt1){ Object str = "选择你喜爱的滚动条?"; JOptionPane.showInputDialog(str); } }}注意,一般通过Button来实现第二个窗体或者第三个或者更多窗体。一般调用上级窗体的构造函数方法来实现
1 0
- 多窗体
- 多窗体
- 浅谈MDI窗体的多窗体编程
- 一个窗体管理多个窗体
- MFC 单窗体 多窗体 使用
- MFC 单窗体 多窗体 使用
- 多窗体代码
- 多窗体提交
- C#实现多窗体
- ios多窗体项目
- 多文档MDI窗体
- Android多窗体退出
- 窗体
- 窗体
- 窗体
- 窗体
- 窗体
- 窗体
- jQuery $(document).ready()和JavaScript onload事件
- LeetCode Plus One 66
- adapterview学习中的相关知识
- week3-1
- NSString、NSMutableString基本用法
- 多窗体
- Lighthouse
- LeetCode(46)-Remove Nth Node From End of List
- Oracle锁表与解锁
- 分词系统
- Spring Bean
- JS 替换 window.onload 的 document.ready
- python下用dbfread操作DBF文件
- Okhttp3 中响应回来的数据response.body().string()