import java.awt.Color;
import java.awt.Component;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.AbstractButton;
import javax.swing.JButton;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JColorChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
public class MyJFrame extends JFrame implements ActionListener,MouseListener{
private JTextField tfdname;
private JTextField tfdpwd;
JButton btn1,btn2,btn3,btn4,btn5,btn6;
public MyJFrame(String str){
setTitle( str);
setLocation(300,200);
setSize(400, 370);
setDefaultCloseOperation(EXIT_ON_CLOSE);
getContentPane().setBackground(Color.red);
getContentPane().setLayout(new FlowLayout(FlowLayout.RIGHT,5,20));
JLabel lb1=new JLabel("姓名");
tfdname= new JTextField(22);
add(lb1);
add(tfdname);
JLabel lb2=new JLabel("密码");
tfdpwd =new JTextField(22);
add(lb2);
add(tfdpwd);

btn1=new JButton("MOVE");
btn2=new JButton("退出");
add(btn1);
add(btn2);

btn1.addActionListener(this);
btn2.addActionListener(this);

btn3=new JButton("JOptionPane");
add(btn3);
btn3.addActionListener(this);

btn4=new JButton("JOptionPane2");
add(btn4);
btn4.addActionListener(this);

btn5=new JButton("JOptionPane3");
add(btn5);
btn5.addActionListener(this);

btn6=new JButton("JColorChoose");
add(btn6);
btn6.addActionListener(this);

addMenu();
addPopMenu();

String datas[][]={{"70","65","80","90"},
{"69","45","90","80"},
{"89","78","56","67"},
{"89","58","50","40"}
};

String titles[]={"math","language","art","programe"};
JTable table=new JTable(datas,titles);
table.setSize(300,200);
this.getContentPane().add(new JScrollPane(table));
setVisible(true);
}
private JPopupMenu pMenu=null;
private void addPopMenu() {
pMenu =new JPopupMenu();
JMenuItem miCopy=new JMenuItem("复制");
JMenuItem miCut=new JMenuItem("剪切");
JMenuItem miPaste=new JMenuItem("复制");
pMenu.add(miCopy);
pMenu.add(miCut);
pMenu.add(miPaste);

tfdname.add(pMenu);
tfdname. addMouseListener(this);

miCopy.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
tfdname.copy();
}
});

miCut.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {
tfdname.cut();
}
});
}

private void addMenu() {
JMenuBar bar = new JMenuBar();
this.setJMenuBar(bar);
JMenu menuFile=new JMenu("文件");
bar.add(menuFile );
JMenuItem menuNew=new JMenuItem("新建");
menuFile.add(menuNew);
JMenuItem menuOpen=new JMenuItem("打开");
menuFile.add(menuOpen);
menuFile.addSeparator();
JMenuItem menuExit=new JMenuItem("退出");
menuExit.setActionCommand("e");
menuFile.add(menuExit);

JMenu menuEdit=new JMenu("编辑");
bar.add(menuEdit);
JMenuItem miCopy=new JMenuItem("复制");
menuEdit.add(miCopy);
JMenuItem miCut=new JMenuItem("剪切");
menuEdit.add(miCut);
JMenuItem miPaste=new JMenuItem("粘贴");
menuEdit.add(miPaste);
JCheckBoxMenuItem miSel=new JCheckBoxMenuItem("选择",true);
menuEdit.add(miSel);
AbstractButton miExit;
menuExit.addActionListener(this);
}
public static void main(String args[])
{
new MyJFrame("湖南城市学院");
}

public void actionPerformed(ActionEvent e) {
if(e.getSource()==btn1){
String text=tfdname.getText();
tfdpwd.setText(text);
tfdname.setText("");
}
if(e.getSource()==btn2){
System.exit(0);
}
if(e.getSource()==btn3){
int i=JOptionPane.showConfirmDialog(this ,"请确认--城院");
if(i==JOptionPane.CANCEL_OPTION){
System.out.println("取消");
}
else if(i==JOptionPane.NO_OPTION){
System.out.println("否");
}
else if(i==JOptionPane.OK_OPTION){
System.out.println("是");
}

}
if(e.getSource()==btn4){
JOptionPane.showMessageDialog(this, "我的提示信息--城院");
}
if(e.getSource()==btn5){
String str=JOptionPane.showInputDialog("请输入你的姓名:" );
System.out.println("你输入的是:"+str);
}
if(e.getSource()==btn6){
Color c=JColorChooser.showDialog( this, "请选择颜色",Color.CYAN);
this.getContentPane().setBackground(c);
}
if(e.getActionCommand().equals( "e")){
System.exit(0);
}
}
public void mouseClicked(MouseEvent e) {
if(e.getModifiers()==MouseEvent.BUTTON2_MASK){
pMenu.show(tfdname,e.getX(),e.getY());

}

}

public void mousePressed(MouseEvent e) {

}

@Override
public void mouseReleased(MouseEvent e) {

}

@Override
public void mouseEntered(MouseEvent e) {

}

@Override
public void mouseExited(MouseEvent e) {

}

}

MyJFrame(文本)界面的建立的更多相关文章

  1. CentOS 默认进入图形界面与文本界面

    查看/etc/inittab文件,得到以下信息: # inittab is no longer used when using systemd.## ADDING CONFIGURATION HERE ...

  2. ubuntu文本界面乱码的中国解决方案

    问题: 文本界面乱码中国 解决方式: 非常easy.安装fbterm就OK! 详细例如以下: 安装命令:sudo apt-get install fbterm xfonts-xqy 然后执行:sudo ...

  3. Vmware 中安装 Ubuntu Server (或者ubuntu 以文本界面登陆时) 分辨率无法全屏问题

    Vmware 中安装 Ubuntu Server/Ubuntu 分辨率,无法全屏问题 需要更改grub设置 在终端或者文本界面按下列步骤进行设置: 第一步: 输入命令 sudo vim /etc/de ...

  4. 小程序实践(十):textarea实现简单的编辑文本界面

    textarea是官方的原生组件,用于多行输入 简单的例子,监听文本内容.长度,以及设置最大可输入文本长度 wxml <view class='textarea-Style'> <t ...

  5. Ubuntu16.04 启动纯文本界面方法

    问题: Ubuntu16.04 如何启动纯文本界面. 解决方法: 1.系统启动后,在登陆界面点击Ctrl+Shift+F1切换到文本登陆界面: 2.修改为默认从文本界面登陆: sudo vi /etc ...

  6. centos7版本设置OS启动默认进入图形界面还是文本界面

    相比7之前的版本,在centos7版本中,设置OS启动默认进入图形界面还是文本界面有了点变化 检查当前默认设置 [root@rems2 ~]# systemctl get-default graphi ...

  7. linux常用命令(一)linux开关机、重启以及文本界面与图形界面互换

    1.开关机 reboot 重启: shutdown [-efFhknr][-t 秒数][时间][警告信息] 关机: shutdown [-efFhknr][-t 秒数][时间][警告信息] 关机: - ...

  8. Mathematica 文本界面获得之前的结果

    使用%号做标记.获得文本界面之前的运算结果:

  9. linux文本界面../和./的区别

    linux文本界面../和./的区别 ../代表的是上一个目录 ./代表的当前目录

  10. Linux文本界面字体颜色修改

    环境 基于centos 6.5 在文本界面 系统目录的字体颜色是 黑底蓝字  严重看不清楚,对此作出修改 使用 vi 编辑   进入  /etc/DIR_COLORS 找到“DIR 01;34   # ...

随机推荐

  1. S5P4418开发板使用要点

    一.调试工具 1)USB 转串口驱动:用于驱动板子的串口板,电脑与板子进行调试串口通信2)量产软件 USB驱动安装:用于 NXUsbBurner_Ver1.0.6 软件镜像烧写(量产工具)3)调试工具 ...

  2. windows 上rails3.2 + ruby1.9环境搭建

    题外话:本文是通过参考网友资料,亲自尝试过后写的,有不对之处,还请网友指正! 1.搭建环境 准备ruby1.9.3 下载地址: 下载地址:http://rubyforge.org/frs/?group ...

  3. hdu 2089 不要62(初学数位DP)

    http://acm.hdu.edu.cn/showproblem.php?pid=2089 题意: 给定 m,.n; 求车牌号 m~n之间 有多少数字 不含 4或62     ,8652是可以的 . ...

  4. NSString 转换 float 的精度问题, 换double类型可以解决

    @"0.01" 转换成float时, 经常会变成  0.009999799 这种形式, 因为float类型无法精准保存, 系统会选一个接近的值来代替. 而double类型则可以有更 ...

  5. javascript中的undefined,null,"",0和false的云集

    在各种各样的数据类型中,我们都会为其定义一个"空值"或"假值",比如对象类型的空值null,.NET Framework中数据库字段的空值DBNull,bool ...

  6. Java问题汇集(2)

    1.Error setting driver on UnpooledDataSource 具体:Exception in thread "main" org.apache.ibat ...

  7. nginx根据域名做http,https分发

    omcat端口:8080 做好虚拟主机 参照我的另一篇文章nginx端口:80 根据域名分派 在conf/nginx.conf中的http中增加 include www.huozhe.com.conf ...

  8. [转]"由于这台计算机没有远程桌面客户端访问许可证,远程会话被中断"的解决方案

    先使用如下命令登录到服务器: mstsc /v:{服务器IP} /admin 然后再使用下列方法之一即可. 方法一: 1.单击“开始→运行”,输入“gpedit.msc”打开组策略编辑器窗口,依次定位 ...

  9. [codevs2152]滑雪

    题目来源 http://www.tyvj.cn/p/1004 http://www.luogu.org/problem/show?pid=1434# http://codevs.cn/problem/ ...

  10. Bzoj 1565: [NOI2009]植物大战僵尸 最大权闭合图,拓扑排序

    题目: http://cojs.tk/cogs/problem/problem.php?pid=410 410. [NOI2009] 植物大战僵尸 ★★★   输入文件:pvz.in   输出文件:p ...