请教下 怎么实现上面图片的功能 。谢谢。
解决方案 »
- 怎样找到自己需要的方法在那里!!
- jni函数使用main函数
- 关于继承和多态的问题 帮忙分析下代码
- 求助呀,一个关于java中时间相减的问题,求大神协助。
- 如何将基本类型的字符串形式转换为对应的Class,例如:将字符串"int"转换为对应的Class(与int.class一样的类型)
- jxl解析excel文件加载报错
- java的GUI如何达到windows的效果
- 请教
- 请问哪里有JBUILDER的电子文档?谢谢
- java控制反转IoC依赖注入DI
- java一个恼火的程序
- Class<?> cls = Class.forName("com.code.Test"); 这个?怎么具体化,因为Test类是运行时动态加载的,所以我想不到办
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.HeadlessException;import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;public class JSliderDemo extends JFrame implements ChangeListener {
private JSliderEx sliderRed,sliderGreen,sliderBlue;
private JPanel colorPanel,sliderPanel;
private Color color;
@Override
public void stateChanged(ChangeEvent e) {
color = new Color(sliderRed.getValue(),sliderGreen.getValue(),sliderBlue.getValue());
colorPanel.setBackground(color);
} public JSliderDemo() throws HeadlessException {
super("JSliderDemo");
setSize(400,300);
Container container = getContentPane();
try {//主要作用在于显示焦点所在
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
e.printStackTrace();
}
colorPanel = new JPanel();
container.add(colorPanel,BorderLayout.CENTER);
sliderPanel = new JPanel();
sliderPanel.setBackground(color.YELLOW);
sliderPanel.setPreferredSize(new Dimension(400,150));
sliderPanel.setLayout(new GridLayout(3,1,5,5));
sliderRed = new JSliderEx(this,0,255);
sliderGreen = new JSliderEx(this,0,255);
sliderBlue = new JSliderEx(this,0,255);
sliderRed.setBackground(Color.RED);
sliderGreen.setBackground(Color.GREEN);
sliderBlue.setBackground(Color.BLUE);
sliderPanel.add(sliderRed);
sliderPanel.add(sliderGreen);
sliderPanel.add(sliderBlue);
container.add(sliderPanel,BorderLayout.SOUTH);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
} class JSliderEx extends JSlider{
public JSliderEx(ChangeListener listener,int min,int max){
super(min,max);
setPaintTicks(true);//显示一条条竖着的
setMajorTickSpacing(15);//大块大块的分,当中还有最小的
setMinorTickSpacing(3);//最小单位
setPaintLabels(true);//显示下标数字
addChangeListener(listener);//添加监听事件,滑动条是否改变
}
} public static void main(String[] args) {
JSliderDemo application = new JSliderDemo();
}}
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.HeadlessException;import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;public class JSliderDemo extends JFrame implements ChangeListener {
private JSliderEx sliderRed,sliderGreen,sliderBlue;
private JPanel colorPanel,sliderPanel;
private Color color;
@Override
public void stateChanged(ChangeEvent e) {
color = new Color(sliderRed.getValue(),sliderGreen.getValue(),sliderBlue.getValue());
colorPanel.setBackground(color);
} public JSliderDemo() throws HeadlessException {
super("JSliderDemo");
setSize(400,300);
Container container = getContentPane();
try {//主要作用在于显示焦点所在
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
e.printStackTrace();
}
colorPanel = new JPanel();
container.add(colorPanel,BorderLayout.CENTER);
sliderPanel = new JPanel();
sliderPanel.setBackground(color.YELLOW);
sliderPanel.setPreferredSize(new Dimension(400,150));
sliderPanel.setLayout(new GridLayout(3,1,5,5));
sliderRed = new JSliderEx(this,0,255);
sliderGreen = new JSliderEx(this,0,255);
sliderBlue = new JSliderEx(this,0,255);
sliderRed.setBackground(Color.RED);
sliderGreen.setBackground(Color.GREEN);
sliderBlue.setBackground(Color.BLUE);
sliderPanel.add(sliderRed);
sliderPanel.add(sliderGreen);
sliderPanel.add(sliderBlue);
container.add(sliderPanel,BorderLayout.SOUTH);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
} class JSliderEx extends JSlider{
public JSliderEx(ChangeListener listener,int min,int max){
super(min,max);
setPaintTicks(true);//显示一条条竖着的
setMajorTickSpacing(15);//大块大块的分,当中还有最小的
setMinorTickSpacing(3);//最小单位
setPaintLabels(true);//显示下标数字
addChangeListener(listener);//添加监听事件,滑动条是否改变
}
} public static void main(String[] args) {
JSliderDemo application = new JSliderDemo();
}}
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.HeadlessException;import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;public class JSliderDemo extends JFrame implements ChangeListener {
private JSliderEx sliderRed,sliderGreen,sliderBlue;
private JPanel colorPanel,sliderPanel;
private Color color;
@Override
public void stateChanged(ChangeEvent e) {
color = new Color(sliderRed.getValue(),sliderGreen.getValue(),sliderBlue.getValue());
colorPanel.setBackground(color);
} public JSliderDemo() throws HeadlessException {
super("JSliderDemo");
setSize(400,300);
Container container = getContentPane();
try {//主要作用在于显示焦点所在
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
e.printStackTrace();
}
colorPanel = new JPanel();
container.add(colorPanel,BorderLayout.CENTER);
sliderPanel = new JPanel();
sliderPanel.setBackground(color.YELLOW);
sliderPanel.setPreferredSize(new Dimension(400,150));
sliderPanel.setLayout(new GridLayout(3,1,5,5));
sliderRed = new JSliderEx(this,0,255);
sliderGreen = new JSliderEx(this,0,255);
sliderBlue = new JSliderEx(this,0,255);
sliderRed.setBackground(Color.RED);
sliderGreen.setBackground(Color.GREEN);
sliderBlue.setBackground(Color.BLUE);
sliderPanel.add(sliderRed);
sliderPanel.add(sliderGreen);
sliderPanel.add(sliderBlue);
container.add(sliderPanel,BorderLayout.SOUTH);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
} class JSliderEx extends JSlider{
public JSliderEx(ChangeListener listener,int min,int max){
super(min,max);
setPaintTicks(true);//显示一条条竖着的
setMajorTickSpacing(15);//大块大块的分,当中还有最小的
setMinorTickSpacing(3);//最小单位
setPaintLabels(true);//显示下标数字
addChangeListener(listener);//添加监听事件,滑动条是否改变
}
} public static void main(String[] args) {
JSliderDemo application = new JSliderDemo();
}}
下载import net.java.dev.designgridlayout.DesignGridLayout;import javax.swing.BoundedRangeModel;
import javax.swing.DefaultBoundedRangeModel;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.JSpinner;
import javax.swing.SpinnerNumberModel;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;public class XColorChooser { public XColorChooser(){
initModels();
initUI();
} public void showDialog(){
JDialog dialog = new JDialog();
dialog.add(container);
dialog.pack();
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.setVisible(true);
} private final void bind(final BoundedRangeModel m1, final SpinnerNumberModel m2) {
m1.addChangeListener(new ChangeListener(){ @Override public void stateChanged(ChangeEvent e) { m2.setValue(m1.getValue()); }});
m2.addChangeListener(new ChangeListener(){ @Override public void stateChanged(ChangeEvent e) { m1.setValue(((Integer)m2.getValue())); }});
} private final void initModels() {
initModel1(red);
initModel1(green);
initModel1(blue);
initModel2(red2);
initModel2(green2);
initModel2(blue2);
bind(red, red2);
bind(green, green2);
bind(blue, blue2);
} private final JSlider createJSlider(BoundedRangeModel model){
JSlider slider = new JSlider(model);
slider.setPaintTicks(true);
slider.setPaintLabels(true);
slider.setMinorTickSpacing(17);
slider.setMajorTickSpacing(85);
return slider;
} private void initUI() {
DesignGridLayout layout = new DesignGridLayout(container);
layout.row().grid(new JLabel("红")).add(createJSlider(red),3).add(new JSpinner(red2));
layout.row().grid(new JLabel("绿")).add(createJSlider(green),3).add(new JSpinner(green2));
layout.row().grid(new JLabel("蓝")).add(createJSlider(blue),3).add(new JSpinner(blue2));
} private final void initModel1(BoundedRangeModel m){
m.setMinimum(0);
m.setMaximum(255);
} private final void initModel2(SpinnerNumberModel m){
m.setMinimum(Integer.valueOf(0));
m.setMaximum(Integer.valueOf(255));
m.setStepSize(Integer.valueOf(1));
} private final JPanel container = new JPanel();
private final BoundedRangeModel red = new DefaultBoundedRangeModel();
private final BoundedRangeModel green = new DefaultBoundedRangeModel();
private final BoundedRangeModel blue = new DefaultBoundedRangeModel();
private final SpinnerNumberModel red2 = new SpinnerNumberModel();
private final SpinnerNumberModel green2 = new SpinnerNumberModel();
private final SpinnerNumberModel blue2 = new SpinnerNumberModel(); public static void main(final java.lang.String[] args) {
java.awt.EventQueue.invokeLater(new java.lang.Runnable(){
@Override public void run(){
new XColorChooser().showDialog();
}
});
}
}