徽徽徽。 2021-05-04 21:53 采纳率: 57.1%
浏览 105
已采纳

javafx如何可以颜色选择器添加到菜单里,或者菜单选项可以弹出颜色选择器啊?


		
			Label lb1=new Label("你好,我是一个标签!!!");
			lb1.setAlignment(Pos.CENTER);
			
			MenuBar mb=new MenuBar();
			Menu m=new Menu("设置");
			
			MenuItem miColor=new MenuItem("设置颜色");
		
			
			pane1.getChildren().addAll(mb,lb1);
			
			mb.getMenus().add(m);
			m.getItems().add(miColor);
			
		
			miColor.setOnAction(new EventHandler<ActionEvent>() {
				@Override
				public void handle(ActionEvent event) {
	
					ColorPicker cp=new ColorPicker();
					cp.setValue(Color.RED);
					lb1.setTextFill(cp.getValue());
					
				}
			});

这个代码不是我要的效果,请问要如何改成我要的效果啊?

  • 写回答

2条回答 默认 最新

  • bosaidongmomo 2021-05-05 06:58
    关注
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    public class ColorFrame extends JFrame {
    
        private Container container;  //容器
    
        private JPanel colorPanel; //用于反映颜色变化的面板
    
    
        public ColorFrame() {  //构造函数
    
            super( "调色板演示" );  //调用JFrame的构造函数
    
            container = getContentPane();  //得到容器
    
            colorPanel=new JPanel();  //初始化面板
    
    
            JButton selectColorButton = new JButton( "选取颜色" );  //初始化颜色选择按钮
    
            selectColorButton.addActionListener(  //为颜色选择按钮增加事件处理
    
                    new ActionListener() {
    
                        public void actionPerformed( ActionEvent event )
    
                        {
    
                            JColorChooser chooser=new JColorChooser(); //实例化颜色选择器
    
                            Color color=chooser.showDialog(ColorFrame.this,"选取颜色",Color.lightGray );  //得到选择的颜色
    
                            if (color==null)  //如果未选取
    
                                color=Color.gray;  //则设置颜色为灰色
    
                            colorPanel.setBackground(color);  //改变面板的背景色
    
                        }
    
    
                    });
    
            container.add(selectColorButton,BorderLayout.NORTH);  //增加组件
    
            container.add(colorPanel,BorderLayout.CENTER);  //增加组件
    
            setSize( 400, 130 );  //设置窗口尺寸
    
            setVisible(true);  //设置窗口可见
    
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );  //关闭窗口时退出程序
    
        }
    
    
        public static void main(String args[]) {
    
            new ColorFrame();
    
        }
    
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题