6G+128G手机莫名被占用了70G,简单运行几个程序,就占用4G多内存,正常吗?

24099人阅读
Swing(1)
JFrame默认是BorderLayout
JPanel默认是FlowLayout。
1.JFrame设置背景色,注意体会注释的那句话。
package com.
import java.awt.C
import javax.swing.JF
public class Test extends JFrame
public static void main(String[] args)
new Test();
public Test()
this.setSize(400,300);
this.setLocation(400,300);
this.setBackground(Color.blue);
this.getContentPane().setBackground(Color.red);
this.getContentPane().setVisible(false);//如果改为true那么就变成了红色。
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
&2.给JFrame设置背景图片。
方法1:通过在JFrame中添加一个JPanel,背景图片放在JPanel上来实现。代码如下:
import java.awt.*;
import javax.swing.*;
public class Test extends JFrame
//创建一个容器
//创建背景面板。
BackgroundP
//创建一个按钮,用来证明我们的确是创建了背景图片,而不是一张图片。
public static void main(String[] args)
new Test();
public Test()
//不采用任何布局方式。
ct=this.getContentPane();
this.setLayout(null);
//在这里随便找一张400*300的照片既可以看到测试结果。
bgp=new BackgroundPanel((new ImageIcon(&images\\background.jpg&)).getImage());
bgp.setBounds(0,0,400,300);
ct.add(bgp);
//创建按钮
jb=new JButton(&测试按钮&);
jb.setBounds(60,30,160,30);
ct.add(jb);
this.setSize(400,300);
this.setLocation(400,300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
class BackgroundPanel extends JPanel
public BackgroundPanel(Image im)
this.setOpaque(true);
//Draw the back ground.
public void paintComponent(Graphics g)
super.paintComponents(g);
g.drawImage(im,0,0,this.getWidth(),this.getHeight(),this);
效果如图:
&方法2:我们用JLayeredPane,JLayeredPane 为 JFC/Swing 容器添加了深度,允许组件在需要时互相重叠。Integer 对象指定容器中每个组件的深度,其中编号较高的组件位于其他组件之上。常用的几个层如下图:
具体实现代码如下:
* 给JFrame 添加一个背景图案。
package com.
import javax.swing.*;
public class JFrameBackground4 extends JFrame
//创建一个JLayeredPane用于分层的。
JLayeredPane layeredP
//创建一个Panel和一个Label用于存放图片,作为背景。
//创建一个按钮用于测试的。
public static void main(String[] args)
new JFrameBackground4();
public JFrameBackground4()
layeredPane=new JLayeredPane();
image=new ImageIcon(&images\\background.jpg&);//随便找一张图就可以看到效果。
//创建背景的那些东西
jp=new JPanel();
jp.setBounds(0,0,image.getIconWidth(),image.getIconHeight());
jl=new JLabel(image);
jl.setBounds(0,0,image.getIconWidth(),image.getIconHeight());
jp.add(jl);
//创建一个测试按钮
jb=new JButton(&测试按钮&);
jb.setBounds(100,100,100,100);
//将jp放到最底层。
layeredPane.add(jp,JLayeredPane.DEFAULT_LAYER);
//将jb放到高一层的地方
layeredPane.add(jb,JLayeredPane.MODAL_LAYER);
this.setLayeredPane(layeredPane);
this.setSize(image.getIconWidth(),image.getIconHeight());
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocation(image.getIconWidth(),image.getIconHeight());
this.setVisible(true);
测试效果如下图:
&欢迎大家一起讨论更好更优的方法。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:47846次
排名:千里之外
原创:15篇
转载:12篇
(1)(1)(1)(1)(1)(8)(3)(10)3498人阅读
java(33)
Java窗口是指JFrame或者Frame
其次,窗口背景颜色是指直接调用JFrame或者Frame的setBackground(Color color)方法设置后显示出来的颜色。其实,JFrame的显示机制。在你直接调用这个方法后,你的确设置了背景颜色,而你看到的却不是直接的JFrame或者Frame,而是JFrame.getContentPane().而JFrame上的contentPane默认是Color.WHITE的,所以,无论你对JFrame或者Frame怎么设置背景颜色,你看到的都只是contentPane.
最后,讲解决办法:
办法A:在完成初始化,调用getContentPane()方法得到一个contentPane容器,然后将其设置为不可见,即setVisible(false)。这样,你就可以看到JFrame的庐山真面貌啦!
核心代码this.getContentPane().setVisible(false);//得到contentPane容器,设置为不可见
方法B:将contentPane的颜色设置为你想要的颜色,而不是对JFrame本身设置,
核心代码:this.getContentPane().setBackground(Color.red);//设置contentPane为红色
将核心代码替换方法A核心代码即可实现
方法C:为JFrame添加一个Panel或者JLabel等其他组件,设置其颜色为你想要的颜色,然后将其覆盖JFrame窗口即可
JFrame默认是BorderLayoutJPanel默认是FlowLayout。
1.JFrame设置背景色,注意体会注释的那句话。
package com. import java.awt.Cimport javax.swing.JF
public class Test extends JFrame
public static void main(String[] args)
&& new Test();
public Test()
&& this.setSize(400,300);
&& this.setLocation(400,300);
&& this.setBackground(Color.blue);
&& this.getContentPane().setBackground(Color.red);
&& this.getContentPane().setVisible(false);//如果改为true那么就变成了红色。
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
&& this.setVisible(true);
2.给JFrame设置背景图片。方法1:通过在JFrame中添加一个JPanel,背景图片放在JPanel上来实现。代码如下:
import java.awt.*; import javax.swing.*;
public class Test extends JFrame
//创建一个容器
//创建背景面板。
BackgroundP
//创建一个按钮,用来证明我们的确是创建了背景图片,而不是一张图片。
public static void main(String[] args)
&& new Test();
public Test()
&& //不采用任何布局方式。
ct=this.getContentPane();
&& this.setLayout(null);
&& //在这里随便找一张400*300的照片既可以看到测试结果。
bgp=new BackgroundPanel((new ImageIcon(&images\\background.jpg&)).getImage());
&& bgp.setBounds(0,0,400,300);
&& ct.add(bgp);
&& //创建按钮
jb=new JButton(&测试按钮&);
jb.setBounds(60,30,160,30);
&& ct.add(jb);
&& this.setSize(400,300);
&& this.setLocation(400,300);
&& this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
&& this.setVisible(true);
class BackgroundPanel extends JPanel
public BackgroundPanel(Image im)
&& this.im=
&& this.setOpaque(true);
//Draw the back ground.
public void paintComponent(Graphics g)
&& super.paintComponents(g);
&& g.drawImage(im,0,0,this.getWidth(),this.getHeight(),this);
方法2:我们用JLayeredPane,JLayeredPane 为 JFC/Swing 容器添加了深度,允许组件在需要时互相重叠。Integer 对象指定容器中每个组件的深度,其中编号较高的组件位于其他组件之上。常用的几个层如右图:
* 给JFrame 添加一个背景图案。
package com.
import javax.swing.*; public class JFrameBackground4 extends JFrame
//创建一个JLayeredPane用于分层的。
JLayeredPane layeredP
//创建一个Panel和一个Label用于存放图片,作为背景。
//创建一个按钮用于测试的。
public static void main(String[] args)
&& new JFrameBackground4();
public JFrameBackground4()
&& layeredPane=new JLayeredPane();
&& image=new ImageIcon(&images\\background.jpg&);//随便找一张图就可以看到效果。&
//创建背景的那些东西
jp=new JPanel();
&& jp.setBounds(0,0,image.getIconWidth(),image.getIconHeight());&&& jl=new JLabel(image);
//&& jl.setBounds(0,0,image.getIconWidth(),image.getIconHeight());
&& jp.add(jl);
&& //创建一个测试按钮
jb=new JButton(&测试按钮&);
jb.setBounds(100,100,100,100);
&& //将jp放到最底层。
layeredPane.add(jp,JLayeredPane.DEFAULT_LAYER);
&& //将jb放到高一层的地方
layeredPane.add(jb,JLayeredPane.MODAL_LAYER);
&& this.setLayeredPane(layeredPane);
&& this.setSize(image.getIconWidth(),image.getIconHeight());
&& this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
&& this.setLocation(image.getIconWidth(),image.getIconHeight());
&& this.setVisible(true);
第二个程序和三个程序的窗体
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:183552次
积分:2568
积分:2568
排名:第13477名
原创:27篇
转载:313篇
(2)(1)(2)(1)(1)(6)(6)(1)(1)(3)(9)(2)(14)(44)(42)(10)(8)(21)(4)(30)(16)(3)(2)(10)(20)(27)(14)(1)(8)(30)主函数:public static void main(String[] args) {
MsClient client=new MsClient("聊天进击~",410,100,400,500,95,158,160);
JFrame.setDefaultLookAndFeelDecorated(true);
client.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置点关闭能够关闭面板的命令
client.addBkImage("G:/欢喜/小象与兔子/23.jpg", -10,-10,400,500, 1);
client.setLayout(null);
client.setVisible(true); } 加的按钮是这些 public void addAllBtn(){
this.addBtn(container,"选风格~", new BackgroundActionListener(container,"G:/欢喜/猫咪/23.jpg"), 150,40);
this.addBtn(container,"清新", new BackgroundActionListener(container,"G:/欢喜/猫咪/22.jpg"), 100,330);
this.addBtn(container,"极简", new BackgroundActionListener(container,"G:/机智的李承颖/欢喜/清新/09.jpg"), 250,330);
}这是我插入背景调用的函数:public void addBkImage(String path,int x,int y,int w,int h,int index){//"G:/机智的李承颖/欢喜/猫咪/23.jpg"
System.out.println("添加背景");
ImageIcon img = new ImageIcon(path);//这是背景图片
JLabel imgLabel = new JLabel(img);//将背景图放在标签里。
imgLabel.setBounds(x,y,w,h);
((JComponent)this.getContentPane()).setOpaque(false);
//将该面板设置为透明,这样就能显示出背景图片出来了。
this.add(imgLabel, index);
//注意这里是关键,将背景标签添加到client的
LayeredPane面板里。
container.setLayout(null);
container.setVisible(true);
虽然我不会,但我猜先addBkImage再addAllBtn有可能有用
你还没有登录,请先登录或注册慕课网帐号
69184人关注
Copyright (C)
All Rights Reserved | 京ICP备 号-2Java窗口是指JFrame或者Frame其次,窗口背景颜色是指直接调用JFrame或者Frame的setBackground(Color color)方法设置后显示出来的颜色。其实,J在你直接调用这个方法后,你的确设置了背景颜色,而你看到的却不是直接的JFrame或者Frame,而是JFrame.getContentPane().而JFrame上的contentPane默认是Color.WHITE的,所以,无论你对JFrame或者Frame怎么设置背景颜色,你看到的都只是contentPane.最后,讲解决办法:办法A:在完成初始化,调用getContentPane()方法得到一个contentPane容器,然后将其设置为不可见,即setVisible(false)。这样,你就可以看到JFrame的庐山真面貌啦!核心代码this.getContentPane().setVisible(false);//得到contentPane容器,设置为不可见方法B:将contentPane的颜色设置为你想要的颜色,而不是对JFrame本身设置,核心代码:this.getContentPane().setBackground(Color.red);//设置contentPane为红色将核心代码替换方法A核心代码即可实现方法C:为JFrame添加一个Panel或者JLabel等其他组件,设置其颜色为你想要的颜色,然后将其覆盖JFrame窗口即可JFrame默认是BorderLayoutJPanel默认是FlowLayout。1.JFrame设置背景色,注意体会注释的package com. import java.awt.Cimport javax.swing.JFpublic class Test extends JFrame{public static void main(String[] args){
new Test();}public Test(){
this.setSize(400,300);
this.setLocation(400,300);
this.setBackground(Color.blue);
this.getContentPane().setBackground(Color.red);
this.getContentPane().setVisible(false);//如果改为true那么就变成了红色。this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);}}2.给JFrame设置背景图片。
方法1:通过在JFrame中添加一个JPanel,背景图片放在JPanel上来实现。代码如下:import java.awt.*; import javax.swing.*;public class Test extends JFrame{//创建一个容器C//创建背景面板。BackgroundP//创建一个按钮,用来证明我们的确是创建了背景图片,而不是一张图片。JBpublic static void main(String[] args){
new Test();}public Test(){
//不采用任何布局方式。ct=this.getContentPane();
this.setLayout(null);
//在这里随便找一张400*300的照片既可以看到测试结果。bgp=new BackgroundPanel((new ImageIcon("images\\background.jpg")).getImage());
bgp.setBounds(0,0,400,300);
ct.add(bgp);
//创建按钮jb=new JButton("测试按钮");jb.setBounds(60,30,160,30);
ct.add(jb);
this.setSize(400,300);
this.setLocation(400,300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);}}class BackgroundPanel extends JPanel{Ipublic BackgroundPanel(Image im){
this.setOpaque(true);}//Draw the back ground.public void paintComponent(Graphics g){
super.paintComponents(g);
g.drawImage(im,0,0,this.getWidth(),this.getHeight(),this);}}方法2:我们用JLayeredPane,JLayeredPane 为 JFC/Swing 容器添加了深度,允许组件在需要时互相重叠。Integer 对象指定容器中每个组件的深度,其中编号较高的组件位于其他组件个人方法2:我们用JLayeredPane,JLayeredPane 为 JFC/Swing 容器添加了深度,允许组件在需要时互相重叠。Integer 对象指定容器中每个组件的深度,其中编号较高的组件位于其他组件方法2:我们用JLayeredPane,JLayeredPane 为 JFC/Swing 容器添加了深度,允许组件在需要时互相重叠。Integer 对象指定容器中每个组件的深度,其中编号较高的组件位于其他 /*** 给JFrame 添加一个背景图案。*/package com. import javax.swing.*; public class JFrameBackground4 extends JFrame{//创建一个JLayeredPane用于分层的。JLayeredPane layeredP//创建一个Panel和一个Label用于存放图片,作为背景。JPJLImageI//创建一个按钮用于测试的。JBpublic static void main(String[] args){
new JFrameBackground4();}public JFrameBackground4(){
layeredPane=new JLayeredPane();
image=new ImageIcon("images\\background.jpg");//随便找一张图就可以看到效果。
//创建背景的那些东西jp=new JPanel();
jp.setBounds(0,0,image.getIconWidth(),image.getIconHeight());
jl=new JLabel(image);//
jl.setBounds(0,0,image.getIconWidth(),image.getIconHeight());
jp.add(jl);
//创建一个测试按钮jb=new JButton("测试按钮");jb.setBounds(100,100,100,100);
//将jp放到最底层。layeredPane.add(jp,JLayeredPane.DEFAULT_LAYER);
//将jb放到高一层的地方layeredPane.add(jb,JLayeredPane.MODAL_LAYER);
this.setLayeredPane(layeredPane);
this.setSize(image.getIconWidth(),image.getIconHeight());
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocation(image.getIconWidth(),image.getIconHeight());
this.setVisible(true); }}第二个程序和三个程序的窗体
如果您想留下此文,您可以将其发送至您的邮箱(将同时以邮件内容&PDF形式发送)
相关文章推荐
(Ctrl+Enter提交) &&
已有0人在此发表见解
&在& 15:39收藏到了
&&在信息爆炸的时代,您的知识需要整理,沉淀,积累!Lai18为您提供一个简单实用的文章整理收藏工具,在这里您可以收藏对您有用的技术文章,自由分门别类,在整理的过程中,用心梳理自己的知识!相信,用不了多久,您收藏整理的文章将是您一生的知识宝库!
· 蜀ICP备号-12646人阅读
JAVA(29)
& & & 最近因为课设需要,在Myeclipse平台上编写了一个类似QQ的小程序,为了让窗口看起来更美观一点,在登录窗口插入了背景图片,倒腾了许久才弄出来一个十分简洁的方法,故在此记录一下以供需要的朋友们分享~~
& & & 第一步,在类中写一个函数,调用背景图片并显示出来,代码如下,
public void setBg(){
((JPanel)this.getContentPane()).setOpaque(false);
ImageIcon img = new ImageIcon
(&D:\\myeclipse\\projectMyQQ\\bg.jpg&);
JLabel background = new JLabel(img);
this.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE));
background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());
& & &第二步,在图形界面设计代码段即类的构造函数中调用该函数,
&&&& 第三步,在后面的语句中加上一句,把背景面板变成透明的,
& & & 这样就成功了!!!截个成果图See see,
备注一下,这个皮卡丘头像是我用PS弄上去的,最近木有时间弄头像啦~
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:53462次
积分:1102
积分:1102
排名:千里之外
原创:52篇
转载:30篇
评论:14条
(4)(7)(8)(1)(7)(1)(1)(1)(7)(1)(1)(6)(4)(14)(1)(1)(3)(8)(1)(2)(3)}

我要回帖

更多关于 128G手机莫名被占用了70G 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信