weixin_52237616
徽慧慧
2021-05-04 21:53
采纳率: 50%
浏览 43
已采纳

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
    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 评论
  • bosaidongmomo
    bosaidongmomo 2021-05-05 06:58

    点赞 1 评论

相关推荐