MyJFrame(文本)界面的建立
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(文本)界面的建立的更多相关文章
- CentOS 默认进入图形界面与文本界面
查看/etc/inittab文件,得到以下信息: # inittab is no longer used when using systemd.## ADDING CONFIGURATION HERE ...
- ubuntu文本界面乱码的中国解决方案
问题: 文本界面乱码中国 解决方式: 非常easy.安装fbterm就OK! 详细例如以下: 安装命令:sudo apt-get install fbterm xfonts-xqy 然后执行:sudo ...
- Vmware 中安装 Ubuntu Server (或者ubuntu 以文本界面登陆时) 分辨率无法全屏问题
Vmware 中安装 Ubuntu Server/Ubuntu 分辨率,无法全屏问题 需要更改grub设置 在终端或者文本界面按下列步骤进行设置: 第一步: 输入命令 sudo vim /etc/de ...
- 小程序实践(十):textarea实现简单的编辑文本界面
textarea是官方的原生组件,用于多行输入 简单的例子,监听文本内容.长度,以及设置最大可输入文本长度 wxml <view class='textarea-Style'> <t ...
- Ubuntu16.04 启动纯文本界面方法
问题: Ubuntu16.04 如何启动纯文本界面. 解决方法: 1.系统启动后,在登陆界面点击Ctrl+Shift+F1切换到文本登陆界面: 2.修改为默认从文本界面登陆: sudo vi /etc ...
- centos7版本设置OS启动默认进入图形界面还是文本界面
相比7之前的版本,在centos7版本中,设置OS启动默认进入图形界面还是文本界面有了点变化 检查当前默认设置 [root@rems2 ~]# systemctl get-default graphi ...
- linux常用命令(一)linux开关机、重启以及文本界面与图形界面互换
1.开关机 reboot 重启: shutdown [-efFhknr][-t 秒数][时间][警告信息] 关机: shutdown [-efFhknr][-t 秒数][时间][警告信息] 关机: - ...
- Mathematica 文本界面获得之前的结果
使用%号做标记.获得文本界面之前的运算结果:
- linux文本界面../和./的区别
linux文本界面../和./的区别 ../代表的是上一个目录 ./代表的当前目录
- Linux文本界面字体颜色修改
环境 基于centos 6.5 在文本界面 系统目录的字体颜色是 黑底蓝字 严重看不清楚,对此作出修改 使用 vi 编辑 进入 /etc/DIR_COLORS 找到“DIR 01;34 # ...
随机推荐
- windows 上rails3.2 + ruby1.9环境搭建
题外话:本文是通过参考网友资料,亲自尝试过后写的,有不对之处,还请网友指正! 1.搭建环境 准备ruby1.9.3 下载地址: 下载地址:http://rubyforge.org/frs/?group ...
- css揭秘之linear-gradient
很神奇的背景设置, 看代码, <html> <title>css</title> <style> .content { background: line ...
- hadoop2.2编程:用ruby跑hadoop的完整实例
Becareful! All nodes include need to install ruby! #!/usr/bin/ruby # Ruby code for map.rb ARGF.eac ...
- CodeForces_#354_Div.2_2016.5.25(A+B+C)
A 描述:给出一串数,可以互换任意两个数的位置一次,求最大的数和最小的数的最大距离. 分析:找到最大的数和最小的数的位置,求右边的数到左端点的距离和左边的数到右端点的距离. #include < ...
- Nagios ’status.cgi‘文件权限许可和访问控制漏洞
漏洞名称: Nagios ’status.cgi‘文件权限许可和访问控制漏洞 CNNVD编号: CNNVD-201307-013 发布时间: 2014-02-21 更新时间: 2014-02-21 危 ...
- 【转】JVM 基础知识
几年前写过一篇关于JVM调优的文章,前段时间拿出来看了看,又添加了一些东西.突然发现,基础真的很重要.学习的过程是一个由表及里,再由里及表的过程,所谓的“温故而知新”.而真正能走完这个轮回的人,也就能 ...
- 嵌入式 hi3518c裸板uboot烧写、kernel烧写、fs烧写小结
1.在uboot中我可以添加自己的命令,添加的方法是找到一个uboot的命令,然后模仿着去增加属于自己的命令代码以及实现函数就可以 2.记住在使用printf进行调试的时候,在遇到指针或者字符串的时候 ...
- [转]ASP.NET MVC 入门6、TempData
ASP.NET MVC的TempData用于传输一些临时的数据,例如在各个控制器Action间传递临时的数据或者给View传递一些临时的数据,相信大家都看过“在ASP.NET页面间传值的方法有哪几种” ...
- C# 中判断程序是否启动使用Mutex使用异常
[背景] 在最近的一个项目中,我负责客户端模块的工作.需求要求,在启动客户端时需要判断客户端是否已经启动(单例).于是我决定使用Mutex来实现此功能,代码如下: bool initiallyOwne ...
- uvalive 7331 Hovering Hornet 半平面交+概率期望
题意:一个骰子在一个人正方形内,蜜蜂在任意一个位置可以出现,问看到点数的期望. 思路:半平面交+概率期望 #include<cstdio> #include<cstring> ...