编写java applet程序 在页面中以红色,绿色,蓝色为顺序循环显示字符串“welcome to java applet!“”请各

编写java applet程序 在页面中以红色,绿色,蓝色为顺序循环显示字符串“welcome to java applet!“”请各,第1张

importjavaappletApplet;importjavaawtColor;importjavaawtFont;importjavaawtGraphics;publicclassDrawStringextendsApplet{publicvoidpaint(Graphicsg){gsetFont(newFont("宋体",FontBOLD,36));gsetColor(Colorgreen);gdrawString("这是一个JavaApplet程序",5,30);gsetColor(Colorred);gdrawString("欢迎学习Java",5,80);}}

你写的代码没有把颜色给回原来颜色!

可以如下, 加上defaultForeground, defaultBackground, 并在constructor中记录button原来的颜色, 在button失去focus时,改回原来颜色!

因为只用到button, 并且所有button在得到焦点时都是同一文字/背景颜色, 在失去焦点时也都是同一文字/背景颜色, 所以不需要在focusGained()或focusLost()中检验是那一个button获得或失去焦点!

    

    Color defaultForeground;

    Color defaultBackground;

    

    public FocusEventTest (){

        

        defaultForeground = logingetForeground();

        defaultBackground = logingetBackground();

    }

    public void focusGained(FocusEvent e){

        JButton bt = (JButton)egetSource();

        btsetForeground(Colorred);

        btsetBackground(Coloryellow);

    }

    public void focusLost(FocusEvent e){    

        JButton bt = (JButton)egetSource();

        btsetForeground(defaultForeground);

        btsetBackground(defaultBackground);

    }

这种一般通过改对应的UI类来实现,如果不想该UI类(有点复杂),下面的方式也行:

class MyButton extends JButton{

     MyButton(String txt){     

        super(txt); 

        thissetOpaque(false); // 设置为透明

    }  

     public void paint(Graphics g) {

        gfillRect(0,0,getWidth(),getHieght()); // 自己绘制背景

        superpaint(g); 

     } 

}

import javaawtColor;

import javaxswingJButton;

import javaxswingJFrame;

public class Util {

public static void main(String[] args) {

JFrame jf = new JFrame("小程序");

jfsetLayout(null);

JButton jb=new JButton("ok");

jbsetBounds(100, 50, 50, 25);

jbsetOpaque(true);//先透明

jbsetBackground(Colorblue);//背景色

jbsetFocusPainted(false); //不绘制焦点,去掉文字的边框

jfadd(jb);

jfsetSize(300, 200);

jfsetVisible(true);

jfsetLocationRelativeTo(null);

jfsetDefaultCloseOperation(JFrameEXIT_ON_CLOSE); 

}

}

以上就是关于编写java applet程序 在页面中以红色,绿色,蓝色为顺序循环显示字符串“welcome to java applet!“”请各全部的内容,包括:编写java applet程序 在页面中以红色,绿色,蓝色为顺序循环显示字符串“welcome to java applet!“”请各、java JFrame中关于按钮焦点问题使 按钮文字和背景换颜色的疑问、JAVA Swing中JButton按下后变色等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10132914.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存