「java窗体颜色」java给窗口设定背景颜色的方法是
本篇文章给大家谈谈java窗体颜色,以及java给窗口设定背景颜色的方法是对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java怎么改变窗体边框的颜色?
如果你想给窗口内部加上一个边框,可以在窗口内加一个Panel,设置Panel的边框就行。
如果你想修改操作系统提供的边框颜色,是做不到的,但是可以去掉系统提供的边框,重写paint方法自己模拟一个:
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Rectangle;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.LineBorder;
public class MyFrame {
public static void main(String[] args) {
JFrame frame1 = new JFrame();
frame1.setBounds(400, 300, 200, 200);
frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
panel.setBorder(new LineBorder(Color.red));
frame1.add(panel);
frame1.setVisible(true);
JFrame frame2 = new JFrame() {
public void paint(Graphics g) {
super.paint(g);
Rectangle rect = this.getBounds();
int width = (int) rect.getWidth() - 1;
int height = (int) rect.getHeight() - 1;
g.setColor(Color.red);
g.drawRect(0, 0, width, height);
}
};
frame2.setBounds(650, 300, 200, 200);
frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame2.setUndecorated(true);
frame2.setVisible(true);
}
}
java窗口颜色
因为jframe窗口,其实从下到上分为好几层:rootpane
layeredpane
contentpane
glasspane
其中最上面的glasspane是透明的。所以设置背景色,需要设置在contentpane上才能显示。
JAVA中如何控制窗体背景与字体的颜色
如果就设置字体,即大小,加一句setFont就行了
import javax.swing.*;
import java.awt.*;
import java.awt.event.WindowEvent;
public class Q1{
JWindow window = new JWindow();
Q1(String pText){
//获取当前计算机屏幕尺寸
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
//定义标记显示信息
JLabel jl = new JLabel(pText,JLabel.CENTER);
Font d=new Font("楷体",Font.BOLD,10);
jl.setFont(d); //注意这句
//添加组件到窗口
window.getContentPane().add(jl, BorderLayout.CENTER);
// 设置窗口尺寸
window.setSize(300, 100);
//设置窗口显示位置
int w = window.getSize().width;
int h = window.getSize().height;
int x = (dim.width-w)/2;
int y = (dim.height-h)/2;
//移动窗口到X,Y坐标。这里时屏幕的中央
window.setLocation(x, y);
}
//隐藏窗口
public void hidden(){
window.setVisible(false);
}
//显示窗口
public void show(){
window.setVisible(true);
}
public static void main(String[] args){
//
Q1 jw = new Q1("沟通无距离!平行线聊天系统...o(∩_∩)o...");
jw.show();
//显示延时
try{
Thread.sleep(4000);
}catch(InterruptedException ie){
System.out.println("sleep error!!");
}
//调用隐藏
//jw.hidden();
}
public void windowClosing(WindowEvent windowEvent) {
System.exit(0);
}
}
如果要设置字体颜色,你可以自定义继承JLabel的类,在paintComponent(Graphics g)方法中,用g.setColor();g.drawString()做。
设置背景的话在setFont下加一句setBackground()方法,传Image类进去。
java窗口的背景颜色
public void setBackground(Color c)设置组件的背景色。
背景色对每个组件的影响各不相同,并且部分受背景色影响的组件在不同的操作系统之间可能有所不同。
用这个方法嘛,改变不了,可能是你在窗体上添加了别的容器什么的把当前要改变的给挡上了.仔细排查一下,相信你会改过来的.
java 中怎样设置窗口的颜色
调用需要设置颜色的控件的setBackgroud();方法就可以了。
但是设置JFrame和JLabel的背景色,一般就是下面的做法
JFrame frame = new JFrame();
frame.setBackground(Color.Red);
JLabel l = new JLabel();
l.setBackground(Color.Yellow);
frame.add(l);
结果根本就没有反应。这是由于Swing跟AWT有千丝万缕的联系,它既要支持AWT又要有自己新的体系,所以呢,这个如果对于AWT中的Frame是可以直接通过setBackground来设置背景色,但是对于JFrame则不可以,应该采用下面的方法:
JFrame frame = new JFrame();
frame.getContentPane().setBackground(Color.Red);
而对于JLabel来说则要设置JLabel为不透明的才行,即
JLabel comp = new JLabel(value);
comp.setBackground(color);
comp.setOpaque(true);
这句代码frame.setBackground(Color.Red);
改变的是框架的颜色,框架的上面还有窗格,所以你要改变窗格的颜色才可以侧低改变框架的颜色
在主函数里加Containerframe.getContentPane()意思是获得窗格
setBackground(Color.Red); 改变窗格颜色
另外再附一段背景颜色渐变的代码
运行示意图如下:
import java.awt.Color;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
class ShadePanel extends JPanel {
private static final long serialVersionUID = -2644424271663261406L;
public ShadePanel() {
super();
setLayout(null);
}
@Override
protected void paintComponent(Graphics g1) {// 重写绘制组件外观
Graphics2D g = (Graphics2D) g1;
super.paintComponent(g);// 执行超类方法
int width = getWidth();// 获取组件大小
int height = getHeight();
// 创建填充模式对象
GradientPaint paint = new GradientPaint(0, 0, Color.CYAN, 0, height,
Color.MAGENTA);
g.setPaint(paint);// 设置绘图对象的填充模式
g.fillRect(0, 0, width, height);// 绘制矩形填充控件界面
}
}
public class ShadeBackgroundImage extends JFrame {
private static final long serialVersionUID = 4693799019369193520L;
private JPanel contentPane;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
ShadeBackgroundImage frame = new ShadeBackgroundImage();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public ShadeBackgroundImage() {
setTitle("背景为渐变色的主界面");// 设置窗体标题
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();// 创建内容面板
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
ShadePanel shadePanel = new ShadePanel();// 创建渐变背景面板
contentPane.add(shadePanel, BorderLayout.CENTER);// 添加面板到窗体内容面板
}
}
java窗体颜色的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java给窗口设定背景颜色的方法是、java窗体颜色的信息别忘了在本站进行查找喔。
发布于:2022-11-30,除非注明,否则均为
原创文章,转载请注明出处。