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. 推荐GitHub上10 个开源深度学习框架

    推荐GitHub上10 个开源深度学习框架   日前,Google 开源了 TensorFlow(GitHub),此举在深度学习领域影响巨大,因为 Google 在人工智能领域的研发成绩斐然,有着雄厚 ...

  2. USACO3.22Stringsobits

    DP预处理出来 i位不超过j的个数 然后再进行从小到大找第一个比I大的 然后用I减掉上一个比I小的 剩余的按照之前的方法循环找 知道剩余为0 细节挺繁琐的 对照数据改了又改 最后一组数据还超 了int ...

  3. BrnShop开源网上商城第五讲:自定义视图引擎

    今天这篇博文主要讲解自定义视图引擎,大家都知道在asp.net mvc框架中默认自带一个Razor视图引擎,除此之外我们也可以自定义自己的视图引擎,只需要实现IViewEngine接口,接口定义如下: ...

  4. HDU 3427

    DP: According to the meaning of problems,if we check n to m, assume x and y are both solvable,then w ...

  5. HDU 1518

    思路:从第一个数开始搜索,将其和与边长比对,相等则计数+1,计数达到3的时候说明可以组成,因为剩下那条必与边长相等,搜索过程注意剪枝,若某个数已被加入边长则不能重复计算,应将其标记,另外应在每一层递归 ...

  6. web_reg_find()查询信息为变量

    Action(){char *str1;//=(char*)malloc(20);char str2[10]; web_url("toLoginPage", "URL={ ...

  7. 解决easyui和bootstrap兼容问题

    在使用bootstrap和easyui的时候,发现很多有冲突的地方,包括datagrid控件和combo等,以下进行的问题修正,保证easyui正常显示 /*bootstrap兼容问题和easyui的 ...

  8. 【HTML】Beginner4:Heading

    1.Headings h1 h2 h3 h4 h5 h6     h1 being the almighty emperor of headings     h6 being the lowest p ...

  9. matplotlib 初使用

    试玩了一下 matplotlib, 感觉是:很酥狐吖~ 完全不像 ggplot 那样云里雾里,但是后者展现出的图要漂亮优雅许多. x = linspace(0, 10, 100) //初始化一个 [0 ...

  10. shell常用命令总结

    统计文件行数 wc -l filename grep -c "" filename sed -n '$=' filename awk 'END{print NR}' filenam ...