0
Я хочу отображать только панели «Swartches» и «RGB».показать только 2 панели в JColorChooser
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JColorChooser;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.colorchooser.AbstractColorChooserPanel;
public class ColorPickerSample {
private static final long serialVersionUID = 1L;
private static String hex = "#ff0033";
private static void createAndShowGUI() {
// Create and set up the window.
final JFrame frame = new JFrame("Centered");
// Display the window.
frame.setSize(50, 100);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// set flow layout for the frame
frame.getContentPane().setLayout(new FlowLayout());
JButton button = new JButton("");
System.out.println(Color.decode(hex));
button.setBackground(Color.decode(hex));
button.setPreferredSize(new Dimension(20, 20));
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JColorChooser cc = new JColorChooser();
AbstractColorChooserPanel defaultPanels[] = cc.getChooserPanels();
cc.removeChooserPanel(defaultPanels[1]);
cc.removeChooserPanel(defaultPanels[2]);
cc.removeChooserPanel(defaultPanels[4]);
// frame.getContentPane().add(cc);
//Color color = cc.showDialog(frame, "Choose a color", Color.blue);
}
});
frame.getContentPane().add(button);
}
public static void main(String[] args) {
//Schedule a job for the event-dispatching thread:
//creating and showing this application's GUI.
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
Как я могу показать 2 панели только
Я устал от этого, но я не мог заставить его работать. Я отредактировал код в главном вопросе – user1631306
@ user1631306, ваш опубликованный код отлично подходит для меня (в будущем отправьте код с вопросом, чтобы мы не догадались, что вы, возможно, попробовали). Конечно, вам действительно нужно отобразить выбор в кадре, но как только я это сделал, я вижу только «Образцы» и «RGB». Я использую JDK 8 в Windows 7. – camickr
Конечно, я буду помнить об этом. Я не уверен, как мне отобразить этот измененный выбор в панели. Могу ли я сделать это как «Цветной цвет = cc.showDialog (рамка,« Выберите цвет », Color.blue); – user1631306