JAVA JFrame编程

JFrame编程

最基础的窗口
public test1()
{setTitle("test1");setSize(300,300); //设置窗口大小setLocation(300,300); //设置窗口的位置jp = new JPanel();JButton jb=new JButton("button");add(jb);   //整个窗口可以增加一个按钮setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //正常退出setVisible(true);  //是否显示
}
边界布局管理器
jb1=new JButton("jb1");
add(jb1,BorderLayout.EAST);
jb2=new JButton("jb2");
add(jb2,BorderLayout.NORTH);
jb3=new JButton("jb3");
add(jb3,BorderLayout.SOUTH);
jb4=new JButton("jb4");
add(jb4,BorderLayout.WEST);
jb5=new JButton("jb5");
add(jb5,BorderLayout.CENTER);
流式布局管理器
setLayout(new FlowLayout()); //默认居中
//this.setLayout(new FlowLayout(FlowLayout.LEFT)); //左对齐
//this.setLayout(new FlowLayout(FlowLayout.RIGHT)); //右对齐
for(int i=0; i<5; i++)
{jb[i]=new JButton(""+i+"");add(jb[i]);
}
this.setResizable(false);  //不可调整窗口大小
网格式布局管理器
this.setLayout(new GridLayout(3,3,15,15)); //主要看行,所有都会被显示,一列可能多也可能少,后面2个参数是横竖的间距for(int i=0;i<5;i++){jb[i]=new JButton(""+i+"");add(jb[i]);}
面板
jp = new JPanel(); //新建面板jp2=new JPanel();for(int i=0;i<2;i++){jb[i]=new JButton(""+i+"");jp.add(jb[i]); //面板添加按钮}for(int i=2;i<5;i++){jb[i]=new JButton(""+i+"");jp2.add(jb[i]);}this.add(jp,BorderLayout.NORTH);  //窗口添加面板this.add(jp2,BorderLayout.SOUTH);
标签、文本框、密码框
JLabel jl=new JLabel("账号");JTextField jtf=new JTextField(10);JLabel jl2=new JLabel("密码");JPasswordField jtf2=new JPasswordField(10);
复选框和单选按钮
jp = new JPanel(); //新建面板jp2=new JPanel();JCheckBox[] jcb={null,null,null};for(int i=0;i<3;i++) { jcb[i]=new JCheckBox(""+i+""); jp.add(jcb[i]); }JRadioButton[] jrb={null,null};ButtonGroup bg=new ButtonGroup();for(int i=0;i<2;i++) { jrb[i]=new JRadioButton(""+i+"");  }bg.add(jrb[0]); bg.add(jrb[1]);jp2.add(jrb[0]); jp2.add(jrb[1]);add(jp);add(jp2);
下拉列表框和滚动条
this.setLayout(new GridLayout(2,1));jp = new JPanel(); //新建面板jp2=new JPanel();String[] S={"北京","上海","武汉","杭州"};JComboBox jcmb=new JComboBox(S);for(int i=0;i<4;i++) jcmb.addItem(""+i+"");JList jlist=new JList(S);jlist.setVisibleRowCount(3);JScrollPane jsp=new JScrollPane(jlist);jp.add(jcmb);add(jp);jp2.add(jsp);add(jp2);
拆分窗口和插入图片
JLabel jl=new JLabel(new ImageIcon("Image/龙猫2.jpg")); //插入图片String[] S={"1","2","3"};JList jlist=new JList(S); JSplitPane jsp=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,jlist,jl); //拆分成两个窗口jsp.setOneTouchExpandable(true); //有向左向右的小三角add(jsp);
设置图片
this.setIconImage((new ImageIcon("Image/龙猫2.jpg")).getImage()); //设置图片

一些相关设置的操作

JLabel jl=new JLabel("qq",JLabel.CENTER); //设置标签位置jl.setFont(new Font("宋体",Font.PLAIN,16)); //设置字体jl.setForeground(Color.BLUE);  //设置颜色jl.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); //移到此处变成手
选项卡
jp.setBackground(Color.BLUE); //面板设置颜色
JTabbedPane jtbp=new JTabbedPane(); //选项卡
jtbp.add("面板1",jp); jtbp.add("面板2",jp2);
菜单和工具条
JMenuBar mb=new JMenuBar(); //菜单条JMenu jm=new JMenu("中国");  //不是最终的菜单JMenuItem jmi1=new JMenuItem("汉阳");JMenuItem jmi2=new JMenuItem("汉口");JMenuItem jmi=new JMenuItem("北京");JMenu ej=new JMenu("武汉"); //二级菜单ej.add(jmi1); ej.add(jmi2);jm.add(jmi);jm.addSeparator(); //设置分隔线jm.add(ej);JMenu jm2=new JMenu("美国(A)");jm2.setMnemonic('A'); //按下alt+A可点击该选项,必须单引号mb.add(jm);  //菜单条添加菜单项目mb.add(jm2);JTextField jtf=new JTextField();JToolBar tool=new JToolBar();  //工具条JButton button=new JButton("New");button.setToolTipText("新建");  //提示信息tool.add(button); //按钮加入到工具条中jp.add(mb); jp.add(tool);
表格
Vector ziduan=new Vector();ziduan.add("编号"); ziduan.add("姓名");Vector jilu=new Vector(); //集合类for(int i=0;i<3;i++){Vector row=new Vector();row.add(""+i+"");row.add("a"+i+"");jilu.add(row);}JTable ta=new JTable(jilu,ziduan);//JTable是表格,里面的参数是先记录后字段JScrollPane jsp=new JScrollPane(ta); //滚动条this.add(jsp);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/309862.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux卸载docker redis,【Docker】Redis在docker上的安装、启动、停止、删除操作

查找镜像按名称搜索图像docker search redis按名称搜索并显示非截断描述(--no-trunc)docker search --stars3 --no-trunc redis按名称redis搜索出星数至少为3颗星的镜像docker search --filter stars3 redis显示名称中包含“redis”的图像&#xff0c;并且是自动构建docker sea…

[C++11]override关键字的使用

override关键字确保在派生类中声明的重写函数与基类的虚函数有相同的签名&#xff0c;同时也明确表明将会重写基类的虚函数&#xff0c;这样就可以保证重写的虚函数的正确性&#xff0c;也提高了代码的可读性&#xff0c;和final一样&#xff0c;这个关键字要写到方法的后面。 …

Sql Server之旅——第二站 理解讨厌的表扫描

很久以前我们在写sql的时候&#xff0c;最怕的一件事情就是sql莫名奇妙的超级慢&#xff0c;慢的是几根烟抽完&#xff0c;那个小球还在一直转。。。这个着急也只有当事人才明白&#xff0c;后来听说有个什么“评估执行计划“&#xff0c;后来的后来才明白应该避免表扫描。。。…

JAVA JFrame画图基础和事件监听

JFrame画图基础和事件监听 消息框 JOptionPane.showMessageDialog(mine.this, "删除不成功!");画图 class MyJPanel extends JPanel //继承面板类 {public void paint(Graphics g) //覆盖父类的方法,paint相当于画图{g.drawOval(30, 30, 80, 80); //画圆g.drawLi…

[C++11]final关键字的使用

C中增加了final关键字来限制某个类不能被继承&#xff0c;或者或个虚函数不能被重写&#xff0c;和java的final关键字的功能是类似的。如果使用final修饰函数&#xff0c;只能修饰虚函数&#xff0c;并且要把final关键字放到类或者函数的后面。 1.如果使用final修饰函数&#…

Sql Server之旅——第一站 那些给我们带来福利的系统视图

本来想这个系列写点什么好呢&#xff0c;后来想想大家作为程序员&#xff0c;用的最多的莫过于数据库了&#xff0c;但是事实上很多像我这样工作在一线的码农&#xff0c;对sql 都一知半解&#xff0c;别谈优化和对数据库底层的认识了&#xff0c;我也是这样。。。一&#xff1…

c语言case怎么输入字母,如何使用switch case语句将字母转换为数字

我正在制作黑色插口游戏&#xff0c;并且需要使用switch case语句将A转换为11&#xff0c;将T&#xff0c;Q&#xff0c;J和K转换为10&#xff0c;但是我不确定如何执行代码。有人会帮助我解决这个问题吗&#xff1f;如何使用switch case语句将字母转换为数字到目前为止&#x…

JAVA JDBC连接mysql编程

JDBC连接mysql编程 基本操作 package jdbc;import java.sql.Statement; import java.util.Scanner; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet;public class test {public static void main(String[] args) throws Exception {…

[C++11]继承构造函数

C11中提供的继承构造函数可以让派生类直接使用基类的构造函数&#xff0c;而无需自己再写构造函数&#xff0c;尤其是在基类有很多构造函数的情况下&#xff0c;可以极大地简化派生类构造函数的编写。 先来看没有继承构造函数之前的处理方式: 代码如下: #include <iostrea…

.NET 程序员的 Playground :LINQPad

如果想执行一个简单的 C# 语句并获得运行结果&#xff0c;通常我们需要做几个步骤才能达成&#xff1a;打开 Visual Studio 并新建一个控制台项目。在 Program.cs 中编写代码并保存。点击运行按钮或者 F5 运行程序并查看结果。通常来说这并不会产生问题。但如果你和笔者一样为 …

c语言表达式5 gt 3 gt 1,C语言题目谁会做?

1.为表示关系X>y>z&#xff0c;应使用C语言表达式________2.选择题&#xff1a;C语言中&#xff0c;函数返回值的类型是&#xff1a;_____A。return语句中的表达式的类型。B。主调函数中指定的类型。C。定义函数时所指定的函数类型。D。函数调用时系统随机指定的类型3.1.…

JAVA 点菜系统数据库课程设计

点菜系统数据库课程设计 效果图 数据库建表 CREATE TABLE OrderDish (orderid int not null,money int,primary key(orderid) );CREATE TABLE Dish (id varchar(20) not null,name nchar(10),price int,type nchar(10),primary key(id) ); insert into Dish values(zhushi0,水…

[C++11]委托构造函数

委托构造函数允许使用同一个类中的一个构造函数调用其他的构造函数&#xff0c;从而简化相关变量的初始化。 注意点: 1.这种链式的构造函数调用不能形成一个闭环(死循环)&#xff0c;否则会在运行期抛异常。 2.如果要进行多层构造函数的链式调用&#xff0c;建议将构造函数的…

基于 abp vNext 和 .NET Core 开发博客项目 - 使用 abp cli 搭建项目

首先&#xff0c;默认咱们已经有了.net core 3.1的开发环境&#xff0c;如果你没有&#xff0c;快去下载... https://dotnet.microsoft.com/download由于项目是基于abp vNext开发的&#xff0c;所以开发之前建议去撸一遍abp官方文档&#xff0c;https://docs.abp.io/en/abp/lat…

c语言常见错误代码释义,C语言常见错误代码释义解析.doc

C语言常见错误代码释义解析C语言常见错误代码释义错误代码及错误信息 错误释义error 1: Out of memory 内存溢出error 2: Identifier expected 缺标识符error 3: Unknown identifier 未定义的标识符error 4: Duplicate identifier 重复定义的标识符error 5: Syntax error 语法错…

JAVA Java多线程与并发库

Java多线程与并发库 同步方式 import javax.xml.stream.events.StartDocument;public class TestSynchronized {public static void main(String[] args) {// TODO Auto-generated method stubTestSynchronized test new TestSynchronized();test.init();}void init() {fina…

[C++11]统一的数据初始化方式 - 初始化列表

关于C中的变量&#xff0c;数组&#xff0c;对象等都有不同的初始化方法&#xff0c;在这些繁琐的初始化方法中没有任何一种方式适用于所有的情况。为了统一初始化方式&#xff0c;并且让初始化行为具有确定的效果&#xff0c;在C11中提出了列表初始化的概念。 代码如下: #in…

ffmpeg为何用c语言编译,如何使用ffmpeg的c语言sdk实现对文件夹的操作

重要函数打开文件夹&#xff1a;avio_open_dir()读取文件夹&#xff1a;avio_read_dir()关闭文件夹&#xff1a;avio_close_dir()结构体, 操作目录的上下文&#xff1a;AVIODirContext()目录项&#xff0c;用于存放文件名&#xff0c;文件大小等信息&#xff1a;AVIODirEntry()…

Sql Server之旅——第三站 解惑那些背了多年聚集索引的人

说到聚集索引&#xff0c;我想每个码农都明白&#xff0c;但是也有很多像我这样的伪程序员&#xff0c;只能用死记硬背来解决这个问题&#xff0c;什么表中只能建一个聚集索引&#xff0c;然后又扯到了目录查找来帮助读者记忆。。。。问题就在这里&#xff0c;我们不是学文科&a…

C#相关基础知识点总结+基础代码

C#基础知识 同一命名空间下的两个类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace HelloWorld {class A{private int a;public A(int x) { a x; }public void show() { Console.WriteL…