В настоящее время я пытаюсь использовать кнопку в моем графическом интерфейсе, которая генерирует облако слов png из kumo.
Это коды для генерации png для wordcloud внутри кнопки GUI.
JButton wordCloud = new JButton("Generate WordCloud");
wordCloud.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
final Random RANDOM = new Random();
final FrequencyAnalyzer frequencyAnalyzer = new FrequencyAnalyzer();
final List<WordFrequency> wordFrequencies = frequencyAnalyzer.load(data.get_data());
final Dimension dimension = new Dimension(600, 600);
final WordCloud wordCloud = new WordCloud(dimension, CollisionMode.PIXEL_PERFECT);
wordCloud.setPadding(2);
wordCloud.setBackground(new CircleBackground(300));
wordCloud.setColorPalette(new ColorPalette(new Color(0x4055F1), new Color(0x408DF1), new Color(0x40AAF1), new Color(0x40C5F1), new Color(0x40D3F1), new Color(0xFFFFFF)));
wordCloud.setFontScalar(new SqrtFontScalar(10, 40));
wordCloud.build(wordFrequencies);
wordCloud.writeToFile("bin/gui/wordcloud_circle.png");
И это коды, которые я использую для отображения файла PNG при нажатии на кнопку
JFrame b = new JFrame("Word Cloud");
b.add(new JLabel(new ImageIcon("wordcloud_circle.png")));
b.setSize(700,700);
b.setVisible(true);
Кажется, что коды сами по себе работают нормально, но когда я их объединяю, как это
JButton wordCloud = new JButton("Generate WordCloud");
wordCloud.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
final Random RANDOM = new Random();
final FrequencyAnalyzer frequencyAnalyzer = new FrequencyAnalyzer();
final List<WordFrequency> wordFrequencies = frequencyAnalyzer.load(data.get_data());
final Dimension dimension = new Dimension(600, 600);
final WordCloud wordCloud = new WordCloud(dimension, CollisionMode.PIXEL_PERFECT);
wordCloud.setPadding(2);
wordCloud.setBackground(new CircleBackground(300));
wordCloud.setColorPalette(new ColorPalette(new Color(0x4055F1), new Color(0x408DF1), new Color(0x40AAF1), new Color(0x40C5F1), new Color(0x40D3F1), new Color(0xFFFFFF)));
wordCloud.setFontScalar(new SqrtFontScalar(10, 40));
wordCloud.build(wordFrequencies);
wordCloud.writeToFile("bin/gui/wordcloud_circle.png");
JFrame b = new JFrame("Word Cloud");
b.add(new JLabel(new ImageIcon("wordcloud_circle.png")));
b.setSize(700,700);
b.setVisible(true);
Кажется, что коды не работают, когда я их объединяю, и рамка будет отображать только пустую пустую рамку.
Кто-нибудь знает способ решить эту проблему?
Мне бы хотелось, чтобы кнопка генерировала png и одновременно отображала png в кадр.
Большое вам спасибо.