十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Font font = new Font("宋体",Font.BOLD,15); //创建一个字体以便其它调用
创新互联主营麻山网站建设的网络公司,主营网站建设方案,重庆APP开发,麻山h5小程序设计搭建,麻山网站营销推广欢迎麻山等地区企业咨询
哪个文本框调用就用 .setFont(font);
修改字体颜色用 .setForeground(Color.blue)
关于设置对话框的背景颜色,和设置控件的字体颜色或背景颜色:
首先要为对话框添加消息映射,主要是:
BEGIN_MESSAGE_MAP(CXXXDlg, CDialog)
ON_WM_ERASEBKGND()//背景色
ON_WM_CTLCOLOR()//设置文本等控件相关颜色
END_MESSAGE_MAP()
然后在相关代码区域添加代码:
//背景色
BOOL CXXXDlg::OnEraseBkgnd(CDC* pDC)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
//背景色
BOOL retValue= CDialog::OnEraseBkgnd(pDC);
CRect rc;
GetClientRect(rc);
pDC-FillSolidRect(rc,RGB(230,240,250));
return retValue;
}
// 除按纽之外的其他控件,字体颜色、字体背景颜色、控件背景颜色等。
HBRUSH CXXXDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CBkDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: 在此更改DC 的任何属性
//对除了按钮外的其他控件有效
if(pWnd-GetDlgCtrlID() == IDC_STATIC_TEXT )//关联控件ID
{
//设置字体颜色
pDC-SetTextColor(RGB(200,100,80));
//设置文本背景颜色
pDC-SetBkColor(RGB(230,240,250));
//设置控件背景颜色
hbr = ::CreateSolidBrush(RGB(230,240,250));
return hbr;
}
// TODO: 如果默认的不是所需画笔,则返回另一个画笔
return hbr;
}
JTextField jtf=new JTextfield();
jtf.setForeground(Color.red);//设置文本框内文字颜色为红色
jtf.setBackground(Color.green);//设置文本框背景色为绿色
最近要实现一个功能,类似Cmd等控制台窗口的样式。一个对话框中放置一个编辑框,需要在窗口开启后将编辑框的背景色设置为黑色,将其上面的字体颜色设置为白色。
于是研究了一下,发现功能的实现很容易,需要添加WM_CTLCOLOR消息的响应函数:OnCtlColor。代码如下:
HBRUSH CShellDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: 在此更改 DC 的任何特性 ,// TODO: 如果默认的不是所需画笔,则返回另一个画笔 。
if (pWndGetDlgCtrlID()==IDC_DISPLAY) { , pDC-SetBkColor(RGB(0,0,0)); pDC-SetTextColor(RGB(255,255,255)); hbr=(HBRUSH)GetStockObject(BLACK_BRUSH); return hbr; } return hbr; }
JTextArea本身不具备这样的功能,它是纯文本组件,你可以使用JTextPane,通过操作Document文档来控制JTextPane显示的内容,下面的代码在一个JTextPane中显示了一个图标,三行文字,每行用不同的颜色和大小显示:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.text.*;
import java.io.*;
public class Test {
JFrame frame;
JTextPane textPane;
File file;
Icon image;
public Test(){
frame = new JFrame("JTextPane");
textPane = new JTextPane();
file = new File("./classes/test/icon.gif");
image = new ImageIcon(file.getAbsoluteFile().toString());
}
public void insert(String str, AttributeSet attrSet) {
Document doc = textPane.getDocument();
str ="\n" + str ;
try {
doc.insertString(doc.getLength(), str, attrSet);
}
catch (BadLocationException e) {
System.out.println("BadLocationException: " + e);
}
}
public void setDocs(String str,Color col,boolean bold,int fontSize) {
SimpleAttributeSet attrSet = new SimpleAttributeSet();
StyleConstants.setForeground(attrSet, col);
//颜色
if(bold==true){
StyleConstants.setBold(attrSet, true);
}//字体类型
StyleConstants.setFontSize(attrSet, fontSize);
//字体大小
insert(str, attrSet);
}
public void gui() {
textPane.insertIcon(image);
setDocs("第一行的文字",Color.red,false,20);
setDocs("第二行的文字",Color.BLACK,true,25);
setDocs("第三行的文字",Color.BLUE,false,20);
frame.getContentPane().add(textPane, BorderLayout.CENTER);
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}});
frame.setSize(200,300);
frame.setVisible(true);
}
public static void main(String[] args) {
Test test = new Test();
test.gui();
}
}
方法如下:
颜色的英文是color,如果swing,所以你定义的对象 会有这个color属性。
jsp就用font标签,里面也有color属性。
字体swing就是font。
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。