免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4246 | 回复: 2
打印 上一主题 下一主题

我要通过按钮来改变标题的颜色,就是JFrame的title的字体的颜色,怎么办? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-06-20 10:39 |只看该作者 |倒序浏览
这个是的代码,但是b2的action改变不了颜色,怎么办?急啊。。。。。。。。

import java.awt.*;
import java.awt.event.*;
import javax.swing.border.*;

import javax.swing.*;

class FontFrame extends JFrame {
Color color=Color.red;
String title="";
TitledBorder inputTitledBorder;

FontFrame(){
initButton();
initMenu();
}
void initButton(){
  pane.add(b1);  
  pane.add(b2);
  pane.add(b3);
  pane.add(b4);
  b1.addActionListener(new ActionListener()   
          {public void actionPerformed(ActionEvent e)  
            {
              
             }
          });
  b2.addActionListener(new ActionListener()   
          {public void actionPerformed(ActionEvent e)  
            {
//这么写改变不了标题的颜色
              FontFrame f=new FontFrame();
              f.setForeground(Color.red);
              
             }
          });
  b3.addActionListener(new ActionListener()   
          {public void actionPerformed(ActionEvent e)  
            {

              
             }
          });
  b4.addActionListener(new ActionListener()   
          {public void actionPerformed(ActionEvent e)  
            {
              System.exit(0);
             }
          });
  setContentPane(pane);
  pane.add(label);
  setVisible(true);
}
JLabel label=new JLabel("Welcome to JAVA World!",JLabel.CENTER);
JPanel pane = new JPanel();
Font font1 ;
Font font2 ;
JButton b1 = new  JButton("字型");
JButton b2 = new  JButton("颜色");
JButton b3 = new  JButton("背景颜色");
JButton b4 = new  JButton("退出");
JTextPane text=new JTextPane(); //  
JDialog about=new JDialog(this); //关于对话框
JMenuBar menubar=new JMenuBar();//菜单
Graphics g;

JMenu[] menus=new JMenu[]{
new JMenu("File"),
new JMenu("Font")
};

JMenuItem menuitems[][]=new JMenuItem[][]{{
new JMenuItem("exit")
},

{
new JMenuItem("Fond"),
new JMenuItem("CFG"),
new JMenuItem("CBG")
}
};
void initMenu(){

for(int i=0;i<menus.length;i++){
menubar.add(menus[i]);
for(int j=0;j<menuitems[i].length;j++){
menus[i].add(menuitems[i][j]);
menuitems[i][j].addActionListener( action );
}
}
this.setJMenuBar(menubar);
}
ActionListener action=new ActionListener(){ //when here have not wrong:
public void actionPerformed(ActionEvent e){
JMenuItem mi=(JMenuItem)e.getSource();
String id=mi.getText();
if(id.equals("exit")){
FontFrame f=new FontFrame();
int s=JOptionPane.showConfirmDialog(f,"你真的要结束吗","结束程序",JOptionPane.YES_NO_CANCEL_OPTION);
if(s==JOptionPane.YES_OPTION)
System.exit(0);
}else if(id.equals("Fond")){
font1 =new Font("黑体",Font.ITALIC|Font.BOLD,14);
label.setFont(font1) ;

}else if(id.equals("CFG")){
   
    label.setForeground(Color.YELLOW);
}
else if(id.equals("CBG")){
   
   
    label.setForeground(Color.BLUE);

}

}

};

}



public class SetFont{
public static void main(String args[]){

FontFrame f=new FontFrame();

f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)

{
    FontFrame f=new FontFrame();
int s=JOptionPane.showConfirmDialog(f,"你真的要结束吗","结束程序",JOptionPane.YES_NO_OPTION);
if(s==JOptionPane.YES_OPTION)
System.exit(0);}
});
f.setTitle("字体设置");
f.setSize(800,600);
f.show();
}
}

论坛徽章:
0
2 [报告]
发表于 2006-06-20 15:04 |只看该作者
setFrontground试下

论坛徽章:
0
3 [报告]
发表于 2006-06-22 08:47 |只看该作者
这个不是吧,现在可以通过FontFrame.this.setTitle("字体")来改变标题字,但是需要重新写setFont()才好用
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP